Java編程swing組件JLabel詳解以及使用示例
JLabel 對(duì)象可以顯示文本、圖像或同時(shí)顯示二者。可以通過(guò)設(shè)置垂直和水平對(duì)齊方式,指定標(biāo)簽顯示區(qū)中標(biāo)簽內(nèi)容在何處對(duì)齊。默認(rèn)情況下,標(biāo)簽在其顯示區(qū)內(nèi)垂直居中對(duì)齊。默認(rèn)情況下,只顯示文本的標(biāo)簽是開始邊對(duì)齊;而只顯示圖像的標(biāo)簽則水平居中對(duì)齊。 還可以指定文本相對(duì)于圖像的位置。默認(rèn)情況下,文本位于圖像的結(jié)尾邊上,文本和圖像都垂直對(duì)齊。
構(gòu)造方法介紹:
JLabel() 創(chuàng)建無(wú)圖像并且其標(biāo)題為空字符串的 JLabel。
JLabel(Icon image) 創(chuàng)建具有指定圖像的 JLabel 實(shí)例。
JLabel(Icon image, int horizontalAlignment) 創(chuàng)建具有指定圖像和水平對(duì)齊方式的 JLabel 實(shí)例。
JLabel(String text) 創(chuàng)建具有指定文本的 JLabel 實(shí)例。
JLabel(String text, Icon icon, int horizontalAlignment) 創(chuàng)建具有指定文本、圖像和水平對(duì)齊方式的 JLabel 實(shí)例。
JLabel(String text, int horizontalAlignment) 創(chuàng)建具有指定文本和水平對(duì)齊方式的 JLabel 實(shí)例。
常用方法:
getHorizontalAlignment() 返回標(biāo)簽內(nèi)容沿 X 軸的對(duì)齊方式。
getHorizontalTextPosition() 返回標(biāo)簽的文本相對(duì)其圖像的水平位置。
getIcon() 返回該標(biāo)簽顯示的圖形圖像(字形、圖標(biāo))。 getText() 返回該標(biāo)簽所顯示的文本字符串。
setHorizontalAlignment(int alignment) 設(shè)置標(biāo)簽內(nèi)容沿 X 軸的對(duì)齊方式。
setHorizontalTextPosition(int textPosition) 設(shè)置標(biāo)簽的文本相對(duì)其圖像的水平位置。
setIcon(Icon icon) 定義此組件將要顯示的圖標(biāo)。
setText(String text) 定義此組件將要顯示的單行文本。 setUI(LabelUI ui) 設(shè)置呈現(xiàn)此組件的 L&F 對(duì)象。
setVerticalAlignment(int alignment) 設(shè)置標(biāo)簽內(nèi)容沿 Y 軸的對(duì)齊方式。
setVerticalTextPosition(int textPosition) 設(shè)置標(biāo)簽的文本相對(duì)其圖像的垂直位置。
在JLabel中增加圖片和文本
import java.awt.FlowLayout; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingConstants; public class MixingIconLabel { public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame(); frame.setTitle("JLabel Test"); frame.setLayout(new FlowLayout()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ImageIcon imageIcon = new ImageIcon("yourFile.gif"); JLabel label = new JLabel("Mixed", imageIcon, SwingConstants.RIGHT); frame.add(label); frame.pack(); frame.setVisible(true); } }
JLabel中增加HTML文本
import javax.swing.JFrame; import javax.swing.JLabel; public class HTMLLabel { public static void main(String[] a) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel("<html>bold <br> plain</html>"); frame.add(label); frame.setSize(300, 200); frame.setVisible(true); } }
重寫JLabel
import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.Serializable; import javax.swing.JLabel; public class Colors extends JLabel implements Serializable { transient private Color color; // not persistent private Boolean rectangular; // is persistent public Colors() { addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent me) { change(); } } ); rectangular = false; setSize(200, 100); change(); } public Boolean getRectangular() { return rectangular; } public void setRectangular(Boolean flag) { this.rectangular = flag; repaint(); } public void change() { color = randomColor(); repaint(); } private Color randomColor() { int r = (int) (255 * Math.random()); int g = (int) (255 * Math.random()); int b = (int) (255 * Math.random()); return new Color(r, g, b); } public void paint(Graphics g) { Dimension d = getSize(); int h = d.height; int w = d.width; g.setColor(color); if (rectangular) { g.fillRect(0, 0, w - 1, h - 1); } else { g.fillOval(0, 0, w - 1, h - 1); } } }
將JLabel增加到JScrollPane中便于顯示大圖片
import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollPane; public class ScrollPaneFrame { public static void main(String[] args) { JFrame frame = new JFrame(); JLabel image = new JLabel(new ImageIcon("A.jpg")); frame.getContentPane().add(new JScrollPane(image)); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
JLabel中增加unicode編碼
import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JLabel; public class Unicode { public static void main(String args[]) { UnicodeJFrame unicodeJFrame = new UnicodeJFrame(); unicodeJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); unicodeJFrame.setSize(350, 250); unicodeJFrame.setVisible(true); } } class UnicodeJFrame extends JFrame { public UnicodeJFrame() { super("Demonstrating Unicode"); setLayout(new GridLayout(8, 1)); JLabel englishJLabel = new JLabel("/u0057/u0065/u006C/u0063" + "/u006F/u006D/u0065/u0020/u0074/u006F/u0020Unicode/u0021"); englishJLabel.setToolTipText("This is English"); add(englishJLabel); JLabel chineseJLabel = new JLabel("/u6B22/u8FCE/u4F7F/u7528" + "/u0020/u0020Unicode/u0021"); chineseJLabel.setToolTipText("This is Traditional Chinese"); add(chineseJLabel); JLabel cyrillicJLabel = new JLabel("/u0414/u043E/u0431/u0440" + "/u043E/u0020/u043F/u043E/u0436/u0430/u043B/u043E/u0432" + "/u0430/u0422/u044A/u0020/u0432/u0020Unicode/u0021"); cyrillicJLabel.setToolTipText("This is Russian"); add(cyrillicJLabel); JLabel frenchJLabel = new JLabel("/u0042/u0069/u0065/u006E/u0076" + "/u0065/u006E/u0075/u0065/u0020/u0061/u0075/u0020Unicode/u0021"); frenchJLabel.setToolTipText("This is French"); add(frenchJLabel); JLabel germanJLabel = new JLabel("/u0057/u0069/u006C/u006B/u006F" + "/u006D/u006D/u0065/u006E/u0020/u007A/u0075/u0020Unicode/u0021"); germanJLabel.setToolTipText("This is German"); add(germanJLabel); JLabel japaneseJLabel = new JLabel("Unicode/u3078/u3087/u3045" + "/u3053/u305D/u0021"); japaneseJLabel.setToolTipText("This is Japanese"); add(japaneseJLabel); JLabel portugueseJLabel = new JLabel("/u0053/u00E9/u006A/u0061" + "/u0020/u0042/u0065/u006D/u0076/u0069/u006E/u0064/u006F/u0020" + "Unicode/u0021"); portugueseJLabel.setToolTipText("This is Portuguese"); add(portugueseJLabel); JLabel spanishJLabel = new JLabel("/u0042/u0069/u0065/u006E" + "/u0076/u0065/u006E/u0069/u0064/u0061/u0020/u0061/u0020" + "Unicode/u0021"); spanishJLabel.setToolTipText("This is Spanish"); add(spanishJLabel); } }
總結(jié)
以上就是本文關(guān)于Java編程swing組件JLabel詳解以及使用示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
《Java編程實(shí)現(xiàn)swing圓形按鈕實(shí)例代碼》
《淺談標(biāo)簽和JLabel類構(gòu)造方法》
《Java圖形化界面設(shè)計(jì)之容器(JFrame)詳解》
如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
上一篇:Java編程基于快速排序的三個(gè)算法題實(shí)例代碼
欄 目:Java編程
下一篇:Java編程通過(guò)匹配合并數(shù)據(jù)實(shí)例解析(數(shù)據(jù)預(yù)處理)
本文標(biāo)題:Java編程swing組件JLabel詳解以及使用示例
本文地址:http://mengdiqiu.com.cn/a1/Javabiancheng/8366.html
您可能感興趣的文章
- 01-10Java咖啡館(1)——嘆咖啡
- 01-10Java Socket編程(三) 服務(wù)器Sockets
- 01-10Java進(jìn)階:Struts多模塊的技巧
- 01-10Java Socket編程(一) Socket傳輸模式
- 01-10Java Socket編程(二) Java面向連接的類
- 01-10Java運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)
- 01-10Java經(jīng)驗(yàn)點(diǎn)滴:處理沒(méi)有被捕獲的異常
- 01-10Java Socket編程(四) 重復(fù)和并發(fā)服務(wù)器
- 01-10Java中的浮點(diǎn)數(shù)分析
- 01-10面向?qū)ο缶幊?Java中的抽象數(shù)據(jù)類型


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10Java咖啡館(1)——嘆咖啡
- 01-10JVM的垃圾回收機(jī)制詳解和調(diào)優(yōu)
- 01-10Java Socket編程(三) 服務(wù)器Sockets
- 01-10Java進(jìn)階:Struts多模塊的技巧
- 01-10J2SE 1.5版本的新特性一覽
- 01-10Java Socket編程(一) Socket傳輸模式
- 01-10Java運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)
- 01-10Java Socket編程(二) Java面向連接的類
- 01-10Java Socket編程(四) 重復(fù)和并發(fā)服務(wù)
- 01-10Java經(jīng)驗(yàn)點(diǎn)滴:處理沒(méi)有被捕獲的異常
隨機(jī)閱讀
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10C#中split用法實(shí)例總結(jié)
- 04-02jquery與jsp,用jquery