Jlabel實現(xiàn)內容自動換行簡單實例
更新時間:2018年01月08日 13:54:26 作者:御風逍遙
這篇文章主要介紹了Jlabel實現(xiàn)內容自動換行簡單實例,具有一定借鑒價值,需要的朋友可以參考下
在用javaSwing寫界面時,想實現(xiàn)JLabel中的文本內容自動換行,網(wǎng)上查了一下,大多是一些比較簡單的加個換行而已,于是自己寫了一個函數(shù),現(xiàn)在貼出了供大家學習。
效果圖如下:

代碼如下:
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開發(fā)程序的人越來多,"
+ "心中不免欣慰。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實現(xiàn)內容自動換行簡單實例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關文章
idea64.exe.vmoptions文件如何設置調整VM配置文件
這篇文章主要介紹了idea64.exe.vmoptions文件如何設置調整VM配置文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
springboot中實現(xiàn)上傳文件的功能簡單示例
這篇文章主要給大家介紹了關于springboot中實現(xiàn)上傳文件功能的相關資料,在Spring Boot中實現(xiàn)文件上傳下載功能相對簡單,文中給出了代碼示例,需要的朋友可以參考下2023-09-09
SpringCloud服務網(wǎng)關Gateway的使用教程詳解
SpringCloud Gateway是Spring體系內的一個全新項目,它旨在為微服務架構提供一種簡單有效的統(tǒng)一的API路由管理方式。本文就來為大家詳細講講Gateway的使用教程,需要的可以參考一下2022-09-09

