标签:int GUI IconDemo height width Swing new public Icon
图标Icon
方法一:
1 package com.luckylu.gui; 2 3 import javax.swing.*; 4 import java.awt.*; 5 6 public class IconDemo extends JFrame implements Icon { 7 8 private int width; 9 private int height; 10 //无参构造,图片可以选择无参 11 public IconDemo(){ 12 } 13 14 //有参构造,图片可以选择有参 15 public IconDemo(int width, int height){ 16 this.width = width; 17 this.height = height; 18 } 19 20 public void init(){ 21 IconDemo iconDemo = new IconDemo(15,15); 22 //图标可以放在标签上,也可以放在按钮上; 23 JLabel label = new JLabel("icontest", iconDemo, SwingConstants.CENTER); 24 25 Container container = getContentPane(); 26 container.add(label); 27 28 this.setVisible(true); 29 this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 30 31 32 } 33 34 public static void main(String[] args) { 35 new IconDemo().init(); 36 37 } 38 @Override 39 public void paintIcon(Component c, Graphics g, int x, int y) { 40 g.fillOval(x,y,width,height); //实心圆 41 } 42 43 @Override 44 public int getIconWidth() { 45 return this.width; //文本右移的距离 46 } 47 48 @Override 49 public int getIconHeight() { 50 return this.height; //文本下移的距离 51 } 52 }
结果:
方法二:插入图片Icon
1 package com.luckylu.gui; 2 3 import javax.swing.*; 4 import java.awt.*; 5 import java.net.URL; 6 7 public class ImageIconDemo extends JFrame { 8 9 public ImageIconDemo() { 10 //获取图片的地址 11 JLabel jlabel = new JLabel("辽宁本钢LOGO"); //注意是 JLable 12 URL url = ImageIconDemo.class.getResource("ICON.png"); //图片连接 13 14 ImageIcon imageIcon = new ImageIcon(url); 15 jlabel.setIcon(imageIcon); //插入库图片 16 jlabel.setHorizontalAlignment(SwingConstants.CENTER); //居中 17 18 //设置一个容器 19 Container container = getContentPane(); 20 container.add(jlabel); // 将jlabel 写入容器 21 22 setVisible(true); 23 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 24 setBounds(200,200,400,260); 25 26 } 27 public static void main(String[] args) { 28 new ImageIconDemo(); 29 } 30 }
结果:
标签:int,GUI,IconDemo,height,width,Swing,new,public,Icon 来源: https://www.cnblogs.com/luckylu/p/16164721.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。