当前位置: 移动技术网 > IT编程>开发语言>Java > Jlabel实现内容自动换行简单实例

Jlabel实现内容自动换行简单实例

2019年07月19日  | 移动技术网IT编程  | 我要评论

胡栓子,港行手机网,张馨予分享内涵图

在用javaswing写界面时,想实现jlabel中的文本内容自动换行,网上查了一下,大多是一些比较简单的加个换行而已,于是自己写了一个函数,现在贴出了供大家学习。

效果图如下:

代码如下:

package com.zht;
import java.awt.borderlayout;
import java.awt.dimension;
import java.awt.flowlayout;
import java.awt.fontmetrics;
import java.util.concurrent.timeunit;
import javax.swing.jframe;
import javax.swing.jlabel;
public class jlabeldemo extends jframe {
	public static void main(string[] args)
	   throws interruptedexception {
		system.out.println("hello");
		jlabeldemo jlabeldemo = new jlabeldemo();
	}
	public jlabeldemo() throws interruptedexception {
		string text = "this space contains technical articles,"
		    + " blogs and discussion forums with questions and answers."
		    + "作为一个java程序员,从论坛上感受到使用java开发程序的人越来多,"
		    + "心中不免欣慰。hello";
		jlabel label = new jlabel();
		label.setsize(200, 0);
		//注意jlabel一定要设置宽度
		//  system.out.println(label.getwidth());
		jlabelsettext(label, text);
		setlayout(new flowlayout());
		add(label);
		pack();
		//  setsize(300, 200);
		setdefaultcloseoperation(jframe.exit_on_close);
		setlocationrelativeto(null);
		setvisible(true);
	}
	void jlabelsettext(jlabel jlabel, string longstring) 
	   throws interruptedexception {
		stringbuilder builder = new stringbuilder("<html>");
		char[] chars = longstring.tochararray();
		fontmetrics fontmetrics = jlabel.getfontmetrics(jlabel.getfont());
		int start = 0;
		int len = 0;
		while (start + len < longstring.length()) {
			while (true) {
				len++;
				if (start + len > longstring.length())break;
				if (fontmetrics.charswidth(chars, start, len) 
				      > jlabel.getwidth()) {
					break;
				}
			}
			builder.append(chars, start, len-1).append("<br/>");
			start = start + len - 1;
			len = 0;
		}
		builder.append(chars, start, longstring.length()-start);
		builder.append("</html>");
		jlabel.settext(builder.tostring());
	}
}

总结

以上就是本文关于jlabel实现内容自动换行简单实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

java编程swing组件jlabel详解以及使用示例

java编程实现swing圆形按钮实例代码

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网