Jlabel实现内容自动换行简单实例
2018-01-08 13:54
555 查看
在用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实现内容自动换行简单实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- Jlabel实现内容自动换行
- 2018.01.30.v-for的使用、css实现自动换行,时间戳的简单使用。
- 实现td内容自动换行
- J2ME实现展示内容自动根据屏幕宽度换行的功能
- 实现简单动态自动匹配输入的内容
- CSS让网页(Li)中的内容自动换行的实现方法
- J2ME简单灵活实现手机中自动换行显示文本
- CSS实现div添加过长的英文字母或数字的内容显示一排而溢出时,进行自动换行
- 网格部件如何实现列内容的自动换行
- ajax(DWR框架)实现简单的内容自动补全
- QTableView中文本根据内容自动换行的简单方法
- DataGrid实现内容自动换行
- <pre>标签里面的内容实现自动换行(默认不会自动换行)
- table td 内容太长自动换行的实例(word-wrap和word-break的差异)
- 简单的Struts2的Interceptors(拦截器)机制介绍以及利用拦截器实现用户登陆时执行耗时操作并自动跳转的实例
- php与shell实现自动发布(简单实例)
- 用一个第三方的类实现自动换行,简单写死日历组件
- Android 简单实现View自动换行(附源码)
- js实现目录链接,内容跟着目录滚动显示的简单实例
- Android 简单实现View自动换行(附源码)