package csdn.Util;
import javax.swing.*;public class SwingConsole{
public static void run(final JFrame f,final int width,final int height){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
f.setTitle(f.getClass().getSimpleName());
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(width,height);
f.setVisible(true);
}
});
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import static csdn.Util.SwingConsole.*;
public class Faces extends JFrame{
private static Icon[] faces;
private JButton jb,jb2=new JButton("Disable");
private boolean mad=false;
public Faces(){
faces=new Icon[]{
new ImageIcon(Faces.class.getResource("Face0.gif")),
new ImageIcon(Faces.class.getResource("Face1.gif")),
new ImageIcon(Faces.class.getResource("Face2.gif")),
new ImageIcon(Faces.class.getResource("Face3.gif")),
new ImageIcon(Faces.class.getResource("Face4.gif")),
};

jb=new JButton("JButton",faces[3]);
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.setToolTipText("YOW!");
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");
}
}
});
add(jb2);
}
public static void main(String[] args)
{
run(new Faces(),250,125);
}
}

解决方案 »

  1.   

    上面代码贴出来怎么歪了import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import static csdn.Util.SwingConsole.*;
    public class Faces extends JFrame{
    private static Icon[] faces;
    private JButton jb,jb2=new JButton("Disable");
    private boolean mad=false;
    public Faces(){
    faces=new Icon[]{
    new ImageIcon(Faces.class.getResource("Face0.gif")),
    new ImageIcon(Faces.class.getResource("Face1.gif")),
    new ImageIcon(Faces.class.getResource("Face2.gif")),
    new ImageIcon(Faces.class.getResource("Face3.gif")),
    new ImageIcon(Faces.class.getResource("Face4.gif")),
    };

    jb=new JButton("JButton",faces[3]);
    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.setToolTipText("YOW!");
    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");
    }
    }
    });
    add(jb2);
    }
    public static void main(String[] args)
    {
    run(new Faces(),250,125);
    }
    }

      

  2.   

    错误也贴出来啊,
    是不是的ImageIcon的load有问题
      

  3.   

    为什么编译一直抛出NullPointerException?
      

  4.   

    javac才是编译,java已经是执行了……是不是图片素材的路径不对呢?
      

  5.   

    对是执行时抛出空指针异常,前面说错了。
    图片和Faces.class在同一个文件夹。
      

  6.   

    是这行异常了吧
    new ImageIcon(Faces.class.getResource("Face0.gif")),