import java.awt.*;
import java.awt.event.*;public class LianXi15 extends Frame { Button bu1 = new Button("1"); Button bu2 = new Button("2"); public LianXi15(String s) {
super(s);
this.setLayout(new FlowLayout());
add(bu1);
add(bu2);
bu1.addActionListener(new Aa());
bu2.addActionListener(new Aa());
} public void paint(Graphics g) {
Image img1 = Toolkit.getDefaultToolkit().getImage(
"E:\\dongchao\\YouMing.JEPG");
Image img2 = Toolkit.getDefaultToolkit().getImage(
"E:\\dongchao\\YouMing.JEPG");
g.drawImage(img1, 50, 50, 100, 100, this);
g.drawImage(img2, 50, 50, 100, 100, this);
} class Aa implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == bu1) {
g.drawImage(img1, 50, 50, 100, 100, this);//g,img1不能解析。

} else if (e.getSource() == bu2) {
g.drawImage(img2, 50, 50, 100, 100, this);//g,img2不能解析。
}
}
} public static void main(String args[]) {
LianXi15 Ll = new LianXi15("ds");
Ll.setSize(200, 200);
Ll.setVisible(true);
}
}
  我想在窗口设置两个按钮和两张图片,点击按钮1出一张,点击按钮2出另一张。我的程序怎么错拉,为什么会报错,哪位大虾能帮忙改一下,指点迷津,谢谢拉!

解决方案 »

  1.   

    import java.awt.Button;
    import java.awt.FlowLayout;
    import java.awt.Frame;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;public class LianXi15 extends Frame implements ActionListener {    Button bu1 = new Button("1");    Button bu2 = new Button("2");    Image img1 = Toolkit.getDefaultToolkit().getImage("E:\\dongchao\\YouMing.JEPG");    Image img2 = Toolkit.getDefaultToolkit().getImage("E:\\dongchao\\YouMing.JEPG");    public LianXi15(String s) {
            super(s);
            this.setLayout(new FlowLayout());
            add(bu1);
            add(bu2);
            bu1.addActionListener(this);
            bu2.addActionListener(this);
        }    public void paint(Graphics g) {
            g.drawImage(img1, 50, 50, 100, 100, this);
        }    public void actionPerformed(ActionEvent e) {
            if (e.getSource() == bu1) {
                this.getGraphics().drawImage(img1, 50, 50, 100, 100, this
            } else if (e.getSource() == bu2) {
                this.getGraphics().drawImage(img2, 50, 50, 100, 100, this       
     }
        }    public static void main(String args[]) {
            LianXi15 Ll = new LianXi15("ds");
            Ll.setSize(200, 200);
            Ll.setVisible(true);
        }}
      

  2.   

    Image定义为全局变量
    我觉得该学习一下程序基础
    把变量的作用域搞明白