Jlabel实现内容自动换行简单实例
时间:2019-04-12
本文章向大家介绍Jlabel实现内容自动换行简单实例,主要包括Jlabel实现内容自动换行简单实例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在用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实现内容自动换行简单实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- jQuery实现定时隐藏对话框的方法分析
- 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
- jquery+css3实现熊猫tv导航代码分享
- iOS 11 safeArea详解及iphoneX 适配
- Python内置模块logging用法实例分析
- 使用python实现BLAST
- Java并发之串行线程池实例解析
- Zabbix3.0邮件报警配置
- 情人节写给女朋友Java Swing代码程序
- 20个常用Python运维库和模块
- SpringBoot手动使用EhCache的方法示例
- Python内置模块hashlib、hmac与uuid用法分析
- 用C编写一个送给女朋友的情人节小程序 可爱!
- 使用C语言编写钢琴小程序
- 详解vue-admin和后端(flask)分离结合的例子