作者:菁菁da小姐认_194 | 来源:互联网 | 2023-08-21 13:37
本文是自己学习所做笔记,欢迎转载,但请注明出处: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()来回放或者修改图标。