http://blog.csdn.net/polarman/article/details/4160045
UI开发中,常常需要在显示长字符串时能在特定宽度的位置自动换行。这个只要使用html来作为JLabel的文本,然后控制JLabel宽度,JLabel就会自动换行。关键是:宽度定了,高度如何取得? JLabel本身并没有提供方案。研究JDK源码后发现了这个方法。
int maxWidth = 100; //限制的宽度
JLabel lbl = new JLabel("<html>长字符串..........</html>");
javax.swing.text.View v = javax.swing.plaf.basic.BasicHTML.createHTMLView(lbl, lbl.getText());
v.setSize(maxWidth, Integer.MAX_VALUE);
int h = (int) v.getMinimumSpan(View.Y_AXIS); //这是取得的高度
下面可以
lbl.setPreferredSize(new Dimension(maxWidth, h));
注意: javax.swing.plaf.basic.BasicHTML.createHTMLView(...) 的调用是很耗时的。如何需要多次计算某个JLabel的高度,最好不要每次都createHTMLView。只要在设定JLabel文本的时候create一个View实例就可以了,然后每次都用这个实例来计算高度。
.
分享到:
相关推荐
主要介绍了Jlabel实现内容自动换行简单实例,具有一定借鉴价值,需要的朋友可以参考下
java JLabel组件 java JLabel组件 java JLabel组件
java Icon应用到JLabel中 java Icon应用到JLabel中 java Icon应用到JLabel中
对java 中 JLabel 控件的应用实例的集合,都是一些效果实例。
JAVA开发中,swing的运用,用JLabel剪接图片
在JavaSE,给swing中的控件实现超链接效果其实很简单,代码是拿JLabel来举的例子
Java调用windows字体美化窗口,显示多种字体,用JLabel实现,可以很方便 的调用宋体、黑体、Sanf等多种系统字体,轻松改变窗口界面中的字体风格,从而起到美化窗口界面的作用。代码是这样的: //字体数组: ...
动态提取系统当前时间并放到容器基本部件JLabel上,用于显示系统的动态时间
JLabel是Java Swing库中的一个组件类,它用于显示简单的文本或图像。
jLabel2.setBounds(new Rectangle(214, 8, 63, 28)); jLabel2.setText("选择班号"); jLabel2.setFont(new java.awt.Font("Dialog", 0, 15)); jLabel3.setBounds(new Rectangle(7, 54, 67, 28)); jLabel3....
Java JLabel显示多种字体样式,其实是向大家演示如何在Java的窗口中实现自定义字体,示例中使用了多种字体样式,定义了不同的字体模式,比如字体名称、粗细、是否斜体等,这些都是Java的基础知识范畴吧。
主要介绍了Java Swing JLabel标签的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
我已经在我的JFrame对象上添加了JLabel。 我想在JLabel上实现一个关键侦听器。 我可以实施吗? 如果是,我该怎么做?
JLabel移动动画 Java类,允许通过重新绘制直到达到正确的坐标来操纵JLabel坐标。 您可以选择移动速度。 用法:对象 JLabelMoveAnimation move_animation =新的JLabelMoveAnimation(); 用法:方法 move_animation....
以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行程序开发的多方面的知识和技巧,主要包括Java的图形图像、动画游戏、网络应用技术、Applet应用、XML、JFree...
滚动条多个JLabel的Java Swing字幕功能演示
主要介绍了Java编程swing组件JLabel详解以及使用示例,具有一定借鉴价值,需要的朋友可以参考下
这是个小型的自动取款机,主要是联系使用Java 组件的用法,没有链接数据库,初学者很适合
主要介绍了标签和JLabel类构造方法,具有一定参考价值,需要的朋友可以参考下。
您好,我已经努力了好几天,试图弄清楚如何从oracle数据库中的blob列显示jLabel上的图像,但是所有的努力似乎不足以产生期望的结果。 问题是标签显示的是深色的东西,例如背景。 我已经花了...