Java-单击按钮时更改标签文本
我有个无法解决的问题 我想要这个: 当我打开gui时,我会显示一个随机数和一个按钮,上面写着“更改编号” 然后,当点击按钮时,我希望前一个随机数变成另一个随机数,依此类推 这是我的代码:Java-单击按钮时更改标签文本,java,swing,random,jbutton,jlabel,Java,Swing,Random,Jbutton,Jlabel,我有个无法解决的问题 我想要这个: 当我打开gui时,我会显示一个随机数和一个按钮,上面写着“更改编号” 然后,当点击按钮时,我希望前一个随机数变成另一个随机数,依此类推 这是我的代码: public class RandomDisplayPanel extends JPanel { public RandomDisplayPanel() { JPanel panel = new JPanel(); add(panel); JPanel inside =
public class RandomDisplayPanel extends JPanel {
public RandomDisplayPanel() {
JPanel panel = new JPanel();
add(panel);
JPanel inside = new JPanel();
panel.setBackground(Color.yellow);
JButton sendButton = new JButton("Send");
Random generator = new Random();
int num;
num = generator.nextInt(100) +1;
JLabel numero = new JLabel("" + num);
inside.add(numero);
inside.add(sendButton);
panel.add(inside);
sendButton.addActionListener(new RandomDisplayPanel.RandomListener());
}
private class RandomListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Random generator = new Random();
int num;
num = generator.nextInt(100) +1;
}
}
}
我该怎么做?提前感谢:)添加numero.setText(num+“”)代码>在您的侦听器中
编辑:将JLabel numero
声明为类变量,它将起作用。您需要在ActionPreformed方法中有效地调用numero.setText(num)。我建议可能添加一个类似于此的检查声明
if(e.getSource() == sendButton) {
numero.setText(num);
}
我看到的另一个问题是,您可能无法知道numero或sendButton的值。您可以在主类中将它们作为公共变量,也可以将它们作为参数传递。您可以将(JLabel)编号传递给侦听器,如下所示:
sendButton.addActionListener(new RandomDisplayPanel.RandomListener(number));
private class RandomListener implements ActionListener {
private JLabel target;
public RandomListener(JLabel target) {
this.target = target;
}
@Override
public void actionPerformed(ActionEvent e) {
Random generator = new Random();
int num;
num = generator.nextInt(100) +1;
this.target.setText(String.valueOf(num));
}
}
希望这有帮助要获取随机数,可以使用Math.random()编码>并将其与10相乘,例如加1。(那么它介于1和10之间)
要设置按钮文本,请使用
Button myButton=(Button)this.findViewById(R.id.yourButtonsID);
myButton.setText(yourRandomNumber);
我已经有一段时间没有做GUI了,但我认为您只需要添加numero.setText(num)代码>在按钮中单击部分aaah我看到了。没有notice@MuratK. 它不会,因为它不是一个实例变量。