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

骑猪看日落 2022-01-16 10:29 654阅读 0赞

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

实现界面:

114104284.jpg

详细代码:

  1. package com.lixiyu;
  2. import java.awt.Dimension;
  3. import java.awt.Toolkit;
  4. import javax.swing.ImageIcon;
  5. import javax.swing.JFrame;
  6. import javax.swing.JLabel;
  7. public class Index {
  8. public void add(JFrame frame){
  9. frame.setTitle("添加标签");//修改窗口标题
  10. JLabel label=new JLabel("一个可爱的小孩!",JLabel.CENTER);//创建指定文本的标签对象
  11. label.setIcon(new ImageIcon("pic/MR1.JPG"));//添加图像
  12. label.setHorizontalTextPosition(JLabel.CENTER);//设置文本相对于图像的水平位置
  13. label.setVerticalTextPosition(JLabel.BOTTOM);//设置文本相对于图像的垂直位置
  14. label.setEnabled(false);//设置标签为不可用
  15. label.setDisabledIcon(new ImageIcon("pic/MR2.JPG"));//设置标签在不可用情况下显示的图像
  16. frame.add(label);
  17. }
  18. public static void main(String[] args){
  19. JFrame frame=new JFrame("利用JFrame创建窗口");
  20. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  21. frame.setSize(500,400);
  22. Dimension displaySize=Toolkit.getDefaultToolkit().getScreenSize();
  23. Dimension frameSize=frame.getSize();
  24. if(frameSize.width>displaySize.width)
  25. frameSize.width=displaySize.width;//窗口的宽度不能大于显示器的
  26. if(frameSize.height>displaySize.height)
  27. frameSize.height=displaySize.height;
  28. frame.setLocation((displaySize.width-frameSize.width)/2,
  29. (displaySize.height-frameSize.height)/2);//设置窗口居中显示
  30. Index index=new Index();
  31. index.add(frame);//向JFrame窗口添加标签
  32. frame.setVisible(true);
  33. }
  34. }

二、在窗口中添加图标

1.创建图标

实现界面:

114450504.jpg

详细代码:

  1. package com.lixiyu;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Graphics;
  5. import javax.swing.Icon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.SwingConstants;
  9. import javax.swing.WindowConstants;
  10. public class DrawIcon implements Icon{//实现Icon接口
  11. private int width;//声明图标的宽
  12. private int height;//声明图标的高
  13. public int getIconHeight(){//实现getIconHeight方法
  14. return this.height;
  15. }
  16. public int getIconWidth(){//实现getIconWidth方法
  17. return this.width;
  18. }
  19. public DrawIcon(int width, int height) {
  20. // TODO Auto-generated constructor stub
  21. this.width=width;
  22. this.height=height;
  23. }
  24. public void paintIcon(Component arg0,Graphics arg1,int x,int y){//实现paintIcon方法
  25. arg1.fillOval(x, y, width, height);//绘制一个图形
  26. }
  27. public static void main(String[] args){
  28. DrawIcon icon=new DrawIcon(15,15);
  29. JLabel j=new JLabel("在窗体中添加图标",icon,SwingConstants.CENTER);//创建标签并设置为正中间
  30. JFrame jf=new JFrame();
  31. Container c=jf.getContentPane();
  32. c.add(j);
  33. jf.setSize(170,100);
  34. jf.setVisible(true);
  35. jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  36. }
  37. }

2.使用图片图标

实现界面:

114640281.jpg

详细代码:

  1. package com.lixiyu;
  2. import java.awt.Container;
  3. import java.net.URL;
  4. import javax.swing.Icon;
  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.SwingConstants;
  9. import javax.swing.WindowConstants;
  10. @SuppressWarnings("serial")
  11. public class MyImageIcon extends JFrame{
  12. public MyImageIcon(){
  13. Container container=getContentPane();
  14. JLabel jl=new JLabel("今年NBA应该很好看",JLabel.CENTER);
  15. URL url=MyImageIcon.class.getResource("p_w_picpath.png");//获取图片所在的URL
  16. Icon icon=new ImageIcon(url);//实例化Icon对象
  17. jl.setIcon(icon);
  18. jl.setSize(15, 15);
  19. jl.setHorizontalAlignment(SwingConstants.CENTER);
  20. jl.setOpaque(true);
  21. container.add(jl);
  22. setSize(250,100);
  23. setVisible(true);
  24. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  25. }
  26. public static void main(String[] args){
  27. new MyImageIcon();
  28. }
  29. }

转载于:https://blog.51cto.com/lixiyu/1312248

发表评论

表情:
评论列表 (有 0 条评论,654人围观)

还没有评论,来说两句吧...

相关阅读