我尝试制作更改其他按钮文本的按钮,但是settext不起作用。
这是appdroid.java:
包appdroid;
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]){
;
}
}
}
我在按钮等处添加了动作事件,但是它无法正常工作。
答案 0 :(得分:5)
您在gui()
构造函数
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
b1
与字段b2
,actionPerformed(ActionEvent e) {
...进行比较