Java Swing JLabel标签的使用方法
1.概述
官方JavaDocsApi:javax.swing.JLabel
JLabel,标签。标签主要用于展示文本或图片,也可以同时显示文本和图片。
JLabel的构造方法:
/* *构造方法中的参数含义: *text:标签显示的文本 *image:标签显示的图片 *horizontalAlignment:标签内容(在标签内)的水平对其方式(竖直方向默认居中,可通过方法设置) */ JLabel() JLabel(Stringtext) JLabel(Stringtext,inthorizontalAlignment) JLabel(Iconimage) JLabel(Iconimage,inthorizontalAlignment) JLabel(Stringtext,Iconimage,inthorizontalAlignment)
JLabel的常用方法:
//设置文本和图片 voidsetText(Stringtext) voidsetIcon(Iconicon) //设置文本相对于图片的位置(文本默认在图片右边垂直居中) voidsetHorizontalTextPosition(inttextPosition) voidsetVerticalTextPosition(inttextPosition) //设置标签内容(在标签内)的对其方式(默认左对齐并垂直居中) voidsetHorizontalAlignment(intalignment) voidsetVerticalAlignment(intalignment) //设置图片和文本之间的间隙 voidsetIconTextGap(inticonTextGap) /* *下面的方法定义在JComponent基类中 */ //设置文本的字体类型、样式和大小 voidsetFont(Fontfont) //设置字体颜色 voidsetForeground(Colorfg) //当鼠标移动到组件上时显示的提示文本 voidsetToolTipText(Stringtext) //设置组件的背景 voidsetBackground(Colorbg) //设置组件是否可见 voidsetVisible(booleanvisible) //设置组件是否为不透明,JLabel默认为透明,设置为不透明后才能显示背景 voidsetOpaque(booleanisOpaque) //设置组件的首选大小 voidsetPreferredSize(DimensionpreferredSize) //设置组件的最小大小 voidsetMinimumSize(DimensionminimumSize) //设置组件的最大大小 voidsetMaximumSize(DimensionmaximumSize) /* *上面的对齐参数具体的取值常量参考DocsApi; *setXXX(...)方法往往都对应着getXXX()方法。 */
显示图片时,Icon实例的创建(一般创建ImageIcon,ImageIcon实现了Icon):
ImageIcon的构造方法:
//使用本地路径图片创建ImageIcon ImageIcon(Stringfilename) //使用网络路径图片创建ImageIcon ImageIcon(URLlocation) //使用图片文件的字节数组创建ImageIcon ImageIcon(byte[]imageData) //使用java.awt.Image实例创建ImageIcon ImageIcon(java.awt.Imageimage)
java.awt.Image实例的创建:
//方法一:通过java.awt.Toolkit工具类来读取本地、网络或内存中的图片(支持GIF、JPEG或PNG) Imageimage=Toolkit.getDefaultToolkit().getImage(Stringfilename); Imageimage=Toolkit.getDefaultToolkit().getImage(URLurl); Imageimage=Toolkit.getDefaultToolkit().createImage(byte[]imageData); //方法二:通过javax.imageio.ImageIO工具类读取本地、网络或内存中的图片(BufferedImage继承自Image) BufferedImagebufImage=ImageIO.read(Fileinput); BufferedImagebufImage=ImageIO.read(URLinput); BufferedImagebufImage=ImageIO.read(InputStreaminput); /* *PS_01:图片宽高:BufferedImage可以通过bufImage.getWidth()和bufImage.getHeight()方法直接获取图片的宽高; *Image获取宽高需要另外传入一个ImageObserver参数。 * *PS_02:图片裁剪:BufferedImage通过bufImage.getSubimage(intx,inty,intw,inth)方法可以截取图片的 *任意一部分,返回一个新的BufferedImage实例。 * *PS_03:图片缩放:Image通过image.getScaledInstance(intwidth,intheight,inthints)方法可以对图片进行 *缩放,返回新的一个Image实例。 */
2.代码实例
packagecom.xiets.swing; importjavax.swing.*; importjava.awt.*; publicclassMain{ publicstaticvoidmain(String[]args){ JFramejf=newJFrame("测试窗口"); jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //创建内容面板,默认使用流式布局 JPanelpanel=newJPanel(); /* *只显示文本 */ JLabellabel01=newJLabel(); label01.setText("OnlyText"); label01.setFont(newFont(null,Font.PLAIN,25));//设置字体,null表示使用默认字体 panel.add(label01); /* *只显示图片 */ JLabellabel02=newJLabel(); label02.setIcon(newImageIcon("demo01.jpg")); panel.add(label02); /* *同时显示文本和图片 */ JLabellabel03=newJLabel(); label03.setText("文本和图片"); label03.setIcon(newImageIcon("demo02.jpg")); label03.setHorizontalTextPosition(SwingConstants.CENTER);//水平方向文本在图片中心 label03.setVerticalTextPosition(SwingConstants.BOTTOM);//垂直方向文本在图片下方 panel.add(label03); jf.setContentPane(panel); jf.pack(); jf.setLocationRelativeTo(null); jf.setVisible(true); } }
结果展示:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。