在窗体中添加标签Label、Icon图标

简介:

一,在窗体中创建一个带有指定文本的标签对象并添加一个图像

实现界面:

114104284.jpg

详细代码:

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
package  com.lixiyu;
import  java.awt.Dimension;
import  java.awt.Toolkit;
import  javax.swing.ImageIcon;
import  javax.swing.JFrame;
import  javax.swing.JLabel;
public  class  Index {
public  void  add(JFrame frame){
     frame.setTitle( "添加标签" ); //修改窗口标题
     JLabel label= new  JLabel( "一个可爱的小孩!" ,JLabel.CENTER); //创建指定文本的标签对象
     label.setIcon( new  ImageIcon( "pic/MR1.JPG" )); //添加图像
     label.setHorizontalTextPosition(JLabel.CENTER); //设置文本相对于图像的水平位置
     label.setVerticalTextPosition(JLabel.BOTTOM); //设置文本相对于图像的垂直位置
     label.setEnabled( false ); //设置标签为不可用
     label.setDisabledIcon( new  ImageIcon( "pic/MR2.JPG" )); //设置标签在不可用情况下显示的图像
     frame.add(label);
}
public  static  void  main(String[] args){
     JFrame frame= new  JFrame( "利用JFrame创建窗口" );
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     frame.setSize( 500 , 400 );
     Dimension displaySize=Toolkit.getDefaultToolkit().getScreenSize();
     Dimension frameSize=frame.getSize();
     if (frameSize.width>displaySize.width)
         frameSize.width=displaySize.width; //窗口的宽度不能大于显示器的
     if (frameSize.height>displaySize.height)
         frameSize.height=displaySize.height;
     frame.setLocation((displaySize.width-frameSize.width)/ 2 ,
     (displaySize.height-frameSize.height)/ 2 ); //设置窗口居中显示
     Index index= new  Index();
     index.add(frame); //向JFrame窗口添加标签
     frame.setVisible( true );
}
}


二、在窗口中添加图标

1.创建图标

实现界面:

114450504.jpg

详细代码:

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
package  com.lixiyu;
import  java.awt.Component;
import  java.awt.Container;
import  java.awt.Graphics;
import  javax.swing.Icon;
import  javax.swing.JFrame;
import  javax.swing.JLabel;
import  javax.swing.SwingConstants;
import  javax.swing.WindowConstants;
public  class  DrawIcon  implements  Icon{ //实现Icon接口
private  int  width; //声明图标的宽
private  int  height; //声明图标的高
public  int  getIconHeight(){ //实现getIconHeight方法
     return  this .height;
}
public  int  getIconWidth(){ //实现getIconWidth方法
     return  this .width;
}
public  DrawIcon( int  width,  int  height) {
     // TODO Auto-generated constructor stub
     this .width=width;
     this .height=height;
}
public  void  paintIcon(Component arg0,Graphics arg1, int  x, int  y){ //实现paintIcon方法
     arg1.fillOval(x, y, width, height); //绘制一个图形
}
public  static  void  main(String[] args){
     DrawIcon icon= new  DrawIcon( 15 , 15 );
     JLabel j= new  JLabel( "在窗体中添加图标" ,icon,SwingConstants.CENTER); //创建标签并设置为正中间
     JFrame jf= new  JFrame();
     Container c=jf.getContentPane();
     c.add(j);
     jf.setSize( 170 , 100 );
     jf.setVisible( true );
     jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
}


2.使用图片图标

实现界面:

114640281.jpg

详细代码:

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
package  com.lixiyu;
import  java.awt.Container;
import  java.net.URL;
import  javax.swing.Icon;
import  javax.swing.ImageIcon;
import  javax.swing.JFrame;
import  javax.swing.JLabel;
import  javax.swing.SwingConstants;
import  javax.swing.WindowConstants;
@SuppressWarnings ( "serial" )
public  class  MyImageIcon  extends  JFrame{
public  MyImageIcon(){
     Container container=getContentPane();
     JLabel jl= new  JLabel( "今年NBA应该很好看" ,JLabel.CENTER);
     URL url=MyImageIcon. class .getResource( "image.png" ); //获取图片所在的URL
     Icon icon= new  ImageIcon(url); //实例化Icon对象
     jl.setIcon(icon);
     jl.setSize( 15 15 );
     jl.setHorizontalAlignment(SwingConstants.CENTER);
     jl.setOpaque( true );
     container.add(jl);
     setSize( 250 , 100 );
     setVisible( true );
     setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public  static  void  main(String[] args){
     new  MyImageIcon();
       
}
}


本文转自lixiyu 51CTO博客,原文链接:http://blog.51cto.com/lixiyu/1312248,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 虚拟化 数据中心
NVIDIA T4和A10:不同应用场景下的GPU加速器选择
在数据中心和云计算领域,GPU加速器扮演着至关重要的角色。NVIDIA T4和A10是两款适用于不同应用场景的GPU加速器。本文将比较它们的性能和适用场景,帮助读者更好地选择适合自己需求的GPU实例。
6702 0
|
Java 存储 jvm-sandbox
海量流量下,淘宝如何进行稳定的流量回放?
随着业务的不断发展, 整个淘系的服务端已经有数千个应用,在淘宝已经有非常大的应用数量和变更次数的基础上, 对流量回放也有更高的要求。那么在不断尝试流量的录制与回放的过程中,我们遇到了什么问题?那么在不断尝试的过程中,我们遇到了什么问题?我们由从中得到了什么启示?流量录制回放又能给我们带来多少收益?
10555 1
|
12月前
|
人工智能 JavaScript IDE
好消息,在 Visual Studio 中可以免费使用 GitHub Copilot 了!
好消息,在 Visual Studio 中可以免费使用 GitHub Copilot 了!
875 11
|
存储 机器学习/深度学习 大数据
量子计算与大数据:处理海量信息的新方法
【10月更文挑战第31天】量子计算凭借其独特的量子比特和量子门技术,为大数据处理带来了革命性的变革。相比传统计算机,量子计算在计算效率、存储容量及并行处理能力上具有显著优势,能有效应对信息爆炸带来的挑战。本文探讨了量子计算如何通过量子叠加和纠缠等原理,加速数据处理过程,提升计算效率,特别是在金融、医疗和物流等领域中的具体应用案例,同时也指出了量子计算目前面临的挑战及其未来的发展方向。
|
JavaScript
vue导出pdf(接口)
vue导出pdf(接口)
173 3
|
机器学习/深度学习 编解码 自然语言处理
CVPR 2022 | Restormer:高分辨率图像恢复的高效Transformer
CVPR 2022 | Restormer:高分辨率图像恢复的高效Transformer
914 1
|
自然语言处理 JavaScript 计算机视觉
ModelScope安装问题之无法安装如何解决
ModelScope安装是指设置和部署ModelScope环境的过程;本合集将提供ModelScope安装步骤、配置要求和环境准备,以便用户顺利启动ModelScope进行模型开发和测试。
848 0
|
数据安全/隐私保护
注销备案须知及操作步骤
若您的网站已经在阿里云成功备案,现要停止该网站的服务,需注销主体或网站在工信部的备案信息。
3516 0
|
机器学习/深度学习 人工智能 算法
OpenCV-差分法实现绿叶识别(图像差分+颜色通道)
OpenCV-差分法实现绿叶识别(图像差分+颜色通道)
479 0
|
数据库 C#
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
330 0