一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Jlabel實現內容自動換行簡單實例

Jlabel實現內容自動換行簡單實例

2021-03-16 13:29御風逍遙 Java教程

這篇文章主要介紹了Jlabel實現內容自動換行簡單實例,具有一定借鑒價值,需要的朋友可以參考下

在用javaswing寫界面時,想實現jlabel中的文本內容自動換行,網上查了一下,大多是一些比較簡單的加個換行而已,于是自己寫了一個函數,現在貼出了供大家學習。

效果圖如下:

Jlabel實現內容自動換行簡單實例

代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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實現內容自動換行簡單實例的全部內容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/zhhtao89/article/details/50179695

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: www.东方影库 | 91麻豆精品国产 | 男人天堂中文字幕 | 青青青国产在线 | 调教开发新婚娇妻放荡 | 亚洲日日操 | 亚洲天堂影视 | 欧美国产在线视频 | 精品久久久麻豆国产精品 | 国产色综合久久五月色婷婷中文 | 好奇害死猫在线观看 | 免费在线视频观看 | 日韩成人一区ftp在线播放 | 秘书在办公室疯狂被hd | 亚洲精品成人a | 97国产自拍 | 欧美精品v欧洲高清 | 亚洲嫩模吧粉嫩粉嫩冒白浆 | 69福利区| 色久久一个亚洲综合网 | 国产精品欧美亚洲韩国日本99 | 国产精品高清一区二区三区不卡 | 91亚洲精品久久91综合 | 亚洲国产成人精品无码区APP | 亚洲国产在线2o20 | 久久精品亚洲精品国产欧美 | 韩国办公室激情 | 日b视频免费看 | 视频一区二区三区在线观看 | 五月色婷婷久久综合 | 色花堂国产精品首页第一页 | 51国产| 精品综合久久久久久97超人 | 欧美日韩国产亚洲一区二区三区 | 日本一区二区三区在线 视频 | 我的妹妹最近有点怪在线观看 | 欧美黑人成人免费全部 | 激情小说色图 | 黑人双渗透 | 91av爱爱| 亚洲AV蜜桃永久无码精品无码网 |