2

我试图制作更改其他按钮文本的按钮,但 settext 不起作用。

这是 appdroid.java:

包应用程序;

public class appdroid{

    static int a = 640;
    static int b = 400;
    static int c = 100;
    static int d = 100;

    public static void main(String[] args) {
        new gui();
    }
}

这是 gui.java:

package appdroid;
import javax.swing.AbstractButton;
import javax.swing.JFrame;
import javax.swing.JButton;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class gui extends JFrame implements ActionListener {

    String[] a = {"Search device","Device not found","Error, bad device","Device found"};
    String[] b = {"Device not found","Error, bad device","Compile"};
    String[] c = {"Device not found","Error, bad device","Unpack"};
    String d = a[0];
    String f = b[0];
    String g = c[0];
    private JButton b1;
    private JButton b2;
    private JButton b3;

    public gui(){

        super("APPDROID");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setSize(appdroid.a,appdroid.b);
        setLocation(appdroid.c,appdroid.d);
        setLayout(new FlowLayout());

        JButton b1 = new JButton(d);
        JButton b2 = new JButton(f);
        JButton b3 = new JButton(g);

        b1.addActionListener(this);
        b2.addActionListener(this);
        b3.addActionListener(this);

        add (b1);
        add (b2);
        add (b3);
    }

    public void actionPerformed(ActionEvent e) {
        Object source = e.getSource();

        if(source == b1){
            d = a[3];
            f = b[2];
            b1.setText(d);
            b2.setText(f);
        }

        if(source == b2){
            g = c[2];
            b3.setText(g);
        }

        if(source == b3 && g == c[2]){
            ;
        }
    }
}

我在按钮上添加了动作事件,等等你可以看到,但它不起作用。

4

1 回答 1

5

您在gui()构造函数中创建了 3 个局部变量

    JButton b1 = new JButton(d);
    JButton b2 = new JButton(f);
    JButton b3 = new JButton(g);

我想你想初始化字段?

    b1 = new JButton(d);
    b2 = new JButton(f);
    b3 = new JButton(g);

因为您正在source与字段进行比较b1b2.. inactionPerformed(ActionEvent e) {

于 2013-07-29T11:28:17.057 回答