1

单击时是否可以更改 JButton 的文本?我有一个 JButton,文本是一个数字,我想要发生的是当用户单击它时,按钮中的文本会增加。那可能吗?谢谢

4

3 回答 3

1

getSource()您可以通过 的方法访问单击的按钮ActionEvent。因此,您可以随心所欲地操作按钮。

尝试这个:

@Override  
public void actionPerformed(ActionEvent e) {  
    JButton clickedButton = (JButton) e.getSource();
    clickedButton.setText("Anything you want"); 
}  
于 2013-02-11T13:47:04.577 回答
0

这是我创建的解决方案。

public int number  = 1;
public Test() {
    final JButton test = new JButton(Integer.toString(number));
    test.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            number += 1; //add the increment
            test.setText(Integer.toString(number));
        }
    });
}

首先,创建一个整数。然后,使用转换为字符串的整数值创建 JButton,因为 JButton 的文本只能是字符串。接下来,使用内部类为按钮创建一个动作监听器。按下按钮时,将执行以下代码,该代码增加整数的值并将按钮的文本设置为整数转换为字符串的值。

于 2014-01-04T02:48:58.563 回答
0

另一种方法:

JButton button = new JButton("1");
button.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {
    int count = Integer.parseInt(button.getLabel());
    button.setLabel((String)count);
  }
});
于 2013-02-11T13:51:16.373 回答