本文是自己学习所做笔记,欢迎转载,但请注明出处: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()来回放或者修改图标。
原文地址:http://blog.csdn.net/jesson20121020/article/details/41145659