Java编程swing组件JLabel详解以及使用示例
JLabel对象可以显示文本、图像或同时显示二者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。默认情况下,标签在其显示区内垂直居中对齐。默认情况下,只显示文本的标签是开始边对齐;而只显示图像的标签则水平居中对齐。还可以指定文本相对于图像的位置。默认情况下,文本位于图像的结尾边上,文本和图像都垂直对齐。
构造方法介绍:
JLabel()创建无图像并且其标题为空字符串的JLabel。
JLabel(Iconimage)创建具有指定图像的JLabel实例。
JLabel(Iconimage,inthorizontalAlignment)创建具有指定图像和水平对齐方式的JLabel实例。
JLabel(Stringtext)创建具有指定文本的JLabel实例。
JLabel(Stringtext,Iconicon,inthorizontalAlignment)创建具有指定文本、图像和水平对齐方式的JLabel实例。
JLabel(Stringtext,inthorizontalAlignment)创建具有指定文本和水平对齐方式的JLabel实例。
常用方法:
getHorizontalAlignment()返回标签内容沿X轴的对齐方式。
getHorizontalTextPosition()返回标签的文本相对其图像的水平位置。
getIcon()返回该标签显示的图形图像(字形、图标)。getText()返回该标签所显示的文本字符串。
setHorizontalAlignment(intalignment)设置标签内容沿X轴的对齐方式。
setHorizontalTextPosition(inttextPosition)设置标签的文本相对其图像的水平位置。
setIcon(Iconicon)定义此组件将要显示的图标。
setText(Stringtext)定义此组件将要显示的单行文本。setUI(LabelUIui)设置呈现此组件的L&F对象。
setVerticalAlignment(intalignment)设置标签内容沿Y轴的对齐方式。
setVerticalTextPosition(inttextPosition)设置标签的文本相对其图像的垂直位置。
在JLabel中增加图片和文本
importjava.awt.FlowLayout; importjavax.swing.ImageIcon; importjavax.swing.JFrame; importjavax.swing.JLabel; importjavax.swing.SwingConstants; publicclassMixingIconLabel{ publicstaticvoidmain(String[]args){ JFrame.setDefaultLookAndFeelDecorated(true); JFrameframe=newJFrame(); frame.setTitle("JLabelTest"); frame.setLayout(newFlowLayout()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ImageIconimageIcon=newImageIcon("yourFile.gif"); JLabellabel=newJLabel("Mixed",imageIcon,SwingConstants.RIGHT); frame.add(label); frame.pack(); frame.setVisible(true); } }
JLabel中增加HTML文本
importjavax.swing.JFrame; importjavax.swing.JLabel; publicclassHTMLLabel{ publicstaticvoidmain(String[]a){ JFrameframe=newJFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabellabel=newJLabel("bold
plain"); frame.add(label); frame.setSize(300,200); frame.setVisible(true); } }
重写JLabel
importjava.awt.Color; importjava.awt.Dimension; importjava.awt.Graphics; importjava.awt.event.MouseAdapter; importjava.awt.event.MouseEvent; importjava.io.Serializable; importjavax.swing.JLabel; publicclassColorsextendsJLabelimplementsSerializable{ transientprivateColorcolor; //notpersistent privateBooleanrectangular; //ispersistent publicColors(){ addMouseListener(newMouseAdapter(){ publicvoidmousePressed(MouseEventme){ change(); } } ); rectangular=false; setSize(200,100); change(); } publicBooleangetRectangular(){ returnrectangular; } publicvoidsetRectangular(Booleanflag){ this.rectangular=flag; repaint(); } publicvoidchange(){ color=randomColor(); repaint(); } privateColorrandomColor(){ intr=(int)(255*Math.random()); intg=(int)(255*Math.random()); intb=(int)(255*Math.random()); returnnewColor(r,g,b); } publicvoidpaint(Graphicsg){ Dimensiond=getSize(); inth=d.height; intw=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中便于显示大图片
importjavax.swing.ImageIcon; importjavax.swing.JFrame; importjavax.swing.JLabel; importjavax.swing.JScrollPane; publicclassScrollPaneFrame{ publicstaticvoidmain(String[]args){ JFrameframe=newJFrame(); JLabelimage=newJLabel(newImageIcon("A.jpg")); frame.getContentPane().add(newJScrollPane(image)); frame.setSize(300,300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
JLabel中增加unicode编码
importjava.awt.GridLayout; importjavax.swing.JFrame; importjavax.swing.JLabel; publicclassUnicode{ publicstaticvoidmain(Stringargs[]){ UnicodeJFrameunicodeJFrame=newUnicodeJFrame(); unicodeJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); unicodeJFrame.setSize(350,250); unicodeJFrame.setVisible(true); } } classUnicodeJFrameextendsJFrame{ publicUnicodeJFrame(){ super("DemonstratingUnicode"); setLayout(newGridLayout(8,1)); JLabelenglishJLabel=newJLabel("/u0057/u0065/u006C/u0063" +"/u006F/u006D/u0065/u0020/u0074/u006F/u0020Unicode/u0021"); englishJLabel.setToolTipText("ThisisEnglish"); add(englishJLabel); JLabelchineseJLabel=newJLabel("/u6B22/u8FCE/u4F7F/u7528"+"/u0020/u0020Unicode/u0021"); chineseJLabel.setToolTipText("ThisisTraditionalChinese"); add(chineseJLabel); JLabelcyrillicJLabel=newJLabel("/u0414/u043E/u0431/u0440" +"/u043E/u0020/u043F/u043E/u0436/u0430/u043B/u043E/u0432" +"/u0430/u0422/u044A/u0020/u0432/u0020Unicode/u0021"); cyrillicJLabel.setToolTipText("ThisisRussian"); add(cyrillicJLabel); JLabelfrenchJLabel=newJLabel("/u0042/u0069/u0065/u006E/u0076" +"/u0065/u006E/u0075/u0065/u0020/u0061/u0075/u0020Unicode/u0021"); frenchJLabel.setToolTipText("ThisisFrench"); add(frenchJLabel); JLabelgermanJLabel=newJLabel("/u0057/u0069/u006C/u006B/u006F" +"/u006D/u006D/u0065/u006E/u0020/u007A/u0075/u0020Unicode/u0021"); germanJLabel.setToolTipText("ThisisGerman"); add(germanJLabel); JLabeljapaneseJLabel=newJLabel("Unicode/u3078/u3087/u3045"+"/u3053/u305D/u0021"); japaneseJLabel.setToolTipText("ThisisJapanese"); add(japaneseJLabel); JLabelportugueseJLabel=newJLabel("/u0053/u00E9/u006A/u0061" +"/u0020/u0042/u0065/u006D/u0076/u0069/u006E/u0064/u006F/u0020"+"Unicode/u0021"); portugueseJLabel.setToolTipText("ThisisPortuguese"); add(portugueseJLabel); JLabelspanishJLabel=newJLabel("/u0042/u0069/u0065/u006E" +"/u0076/u0065/u006E/u0069/u0064/u0061/u0020/u0061/u0020"+"Unicode/u0021"); spanishJLabel.setToolTipText("ThisisSpanish"); add(spanishJLabel); } }
总结
以上就是本文关于Java编程swing组件JLabel详解以及使用示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
《Java编程实现swing圆形按钮实例代码》
《浅谈标签和JLabel类构造方法》
《Java图形化界面设计之容器(JFrame)详解》
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!