首页 > 代码库 > java界面编程(6) ------ 图标

java界面编程(6) ------ 图标

 本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020

           可以在JLable或者任何从AbstractButton继承的组件使用Icon。可以使用任何想用的gif文件,要打开一个文件并且得到图形,只需要创建一个ImageIcon对象并把文件名传递给它即可。然后就可以在程序中使用它了。

             下面的例子是给JLabel和JButton添加图片,并且为按钮的各个状态设置不同的图片,代码如下:           

public class Icons extends JFrame {
	
	private static Icon[] icons;
	private JButton jb,jb2 = new JButton("Disable");
	
	public Icons() {
		setLayout(new FlowLayout());
		setVisible(true);
		setSize(400,200);
		setTitle("Icon");
		// TODO Auto-generated constructor stub
		icons = new Icon[]{
			new ImageIcon(getClass().getResource("icon1.png")),
			new ImageIcon(getClass().getResource("icon2.png")),
			new ImageIcon(getClass().getResource("icon3.png")),
			new ImageIcon(getClass().getResource("icon4.png")),
			new ImageIcon(getClass().getResource("icon5.png")),
			new ImageIcon(getClass().getResource("icon6.png"))
		};
		
		jb = new JButton(icons[3]);
		
		add(new JLabel(icons[5]));
		
		jb.setRolloverEnabled(true);
		jb.setRolloverIcon(icons[2]);
		jb.setPressedIcon(icons[2]);
		jb.setDisabledIcon(icons[4]);
		jb.setToolTipText("提示");
		add(jb);
		jb2.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				if(jb.isEnabled()){
					jb.setEnabled(false);
					jb2.setText("Enable");
				}
				else{
					jb.setEnabled(true);
					jb2.setText("Disable");
				}
			}
		});
		add(jb2);
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Icons();
	}

}
         执行程序,结果如下:


   可以看出,按钮在按下、禁止、浮动时的显示的图片不同,并且,也给按钮添加了“工具提示”的功能,当鼠标停留在按钮上时,就会出现提示的文本,这就使得按钮具有了相当不错的动画效果。

   许多不同的Swing组件的构造器都接受Icon类型的参数,也可使用setIcon()来回放或者修改图标。

java界面编程(6) ------ 图标