本节主要讲解图示(Icons) 我们常常能够看到每个按钮上都有一个小小的图片。下面我们就讲讲Icons和按钮搭配的一些用法。先看看下面的程序代码 import java.awt.*;import java.awt.event.*;public class Faces extends JApplet ...{ static String path = "E:/java/java编程思想源代码/c13/"; static Icon[] faces = ...{ new ImageIcon(path + "face0.gif"), new ImageIcon(path + "face1.gif"), new ImageIcon(path + "face2.gif"), new ImageIcon(path + "face3.gif"), new ImageIcon(path + "face4.gif"), }; JButton jb = new JButton("JButton", faces[3]),//构造函数中设置图片 jb2 = new JButton("Disable"); boolean mad = false; public void init() ...{ Container cp = getContentPane(); cp.setLayout(new FlowLayout()); //按钮按下触发的事件 jb.addActionListener(new ActionListener() ...{ public void actionPerformed(ActionEvent e) ...{ if (mad) ...{ jb.setIcon(faces[3]);//设置按钮图片 mad = false; } else ...{ jb.setIcon(faces[0]); mad = true; } jb.setVerticalAlignment(JButton.TOP);//设置图标和文本的垂直对齐方式。 jb.setHorizontalAlignment(JButton.LEFT);//设置图标和文本的水平对齐方式 } }); jb.setRolloverEnabled(true);//按钮翻转效果生效 jb.setRolloverIcon(faces[1]);//鼠标置于其上时,显示图片 jb.setPressedIcon(faces[2]);//鼠标按下时,显示图片 jb.setDisabledIcon(faces[4]);//按钮不可用时,显示图片 jb.setToolTipText("Yow!");//鼠标置于其上时,显示汉字 cp.add(jb); //按钮触发的事件 jb2.addActionListener(new ActionListener() ...{ public void actionPerformed(ActionEvent e) ...{ if (jb.isEnabled()) ...{ jb.setEnabled(false); jb2.setText("Enable");//设置按钮显示文字 } else ...{ jb.setEnabled(true); jb2.setText("Disable"); } } }); cp.add(jb2); } public static void main(String[] args) ...{ Faces applet = new Faces(); JFrame frame = new JFrame(applet.getClass().toString().substring(6));// 建立一个名字为Buttons的frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// frame关闭方法 frame.getContentPane().add(applet); applet.init(); applet.start(); frame.setSize(600, 300); frame.setVisible(true); }} 本例演示了,按钮在不同的状态下能够显示不同的问题和图片。让按钮有了更好的动画效果