Java 我如何使我的按钮在没有回路的情况下切换?
我想知道我如何才能使我的按钮开关在这个类,我呼吁从另一个类。但它进去了,只对按钮做了一次更改,就是这样Java 我如何使我的按钮在没有回路的情况下切换?,java,swing,jbutton,Java,Swing,Jbutton,我想知道我如何才能使我的按钮开关在这个类,我呼吁从另一个类。但它进去了,只对按钮做了一次更改,就是这样 package code; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JButton; public class Something implement
package code;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
public class Something implements ActionListener {
private Game G;
private int random;
private JButton a;
private JButton b;
private JButton c;
private Font i;
public Something(Game g, int rand, JButton d, JButton e, JButton f, Font h) {
G = g;
random = rand;
a = d;
b = e;
c = f;
i = h;
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
G.increment();
if (random == 0) {
a.setText("A");
a.setEnabled(true);
b.setEnabled(false);
c.setEnabled(false);
SuperSize(a);
SmallerSize(b);
SmallerSize(c);
random = RandomNum();
;
} else if (random == 1) {
b.setText("B");
a.setEnabled(false);
b.setEnabled(true);
c.setEnabled(false);
SuperSize(b);
SmallerSize(a);
SmallerSize(c);
random = RandomNum();
} else if (random == 2) {
c.setText("C");
a.setEnabled(false);
b.setEnabled(false);
c.setEnabled(true);
SuperSize(c);
SmallerSize(a);
SmallerSize(b);
random = RandomNum();
}
}
public int RandomNum() {
Random r = new Random();
int rand = 0;
rand = r.nextInt(3);
return rand;
}
public void SuperSize(JButton a) {
Font myFont = i.deriveFont(Font.BOLD, i.getSize() * 4);
a.setFont(myFont);
}
public void SmallerSize(JButton a) {
a.setFont(i);
}
}
}
我不知道该怎么办,你们能帮我吗?不要每次调用
RandomNum
时都创建一个新的Random
实例,而是在构造函数中创建一个实例并继续重复使用它
public class Something implements ActionListener {
//...
private Random rnd;
public Something(Game g, int rand, JButton d, JButton e, JButton f, Font h) {
//...
rnd = new Random();
}
public int RandomNum() {
return rnd.nextInt(3);
}
例如,不要每次调用
RandomNum
时都创建一个新的Random
实例,而是在构造函数中创建一个实例并继续重复使用它。如何将其合并到我的代码中?这仍然是一样的,在第二次切换按钮后,它不再工作。我需要更多的代码来测试。考虑提供一个说明你的问题的方法。这不是一个代码转储,而是您正在做的一个示例,它突出了您所遇到的问题。这将减少混乱和更好的响应我对这个网站还是新手,所以我应该在最小的代码中提供相同的问题,但包括所有的类?检查前面评论中的链接以了解“可运行示例”应提供。我剥离了所有的UI代码,并通过100次迭代循环运行了您的RandomNum
方法,结果很好,问题可能出在某个地方else@AndriyUkraine我们需要的东西是可编译的,可以运行无需修改,只包括那些部分,证明您的一般工作流程和问题