当我按下GUI上的按钮时,如何存储按钮的值?

时间:2012-11-03 22:20:03

标签: java swing jbutton

我正在编写一个预测文本程序,我已经为按钮分配了字符串值。让我说我点击4然后6然后6然后3.我怎么得到4663?谢谢。

3 个答案:

答案 0 :(得分:3)

您可以使用JButton s getText()方法,该方法将在String上返回JButton文本的表示形式,从那里可以将其转换为整数等或级联/操纵:

JButton button1=new JButton("Hello,");
JButton button2=new JButton("world!");
...
String text=button1.getText()+" "+button2.getText();//getText of button 1 and 2

System.out.println(text);//Hello, world!

至于你的确切问题:

  

让我说我点击4然后6然后6然后3.我怎么得到4663?

我建议使用StringBuilder声明全局JButton来保存数据并在每个append()方法中累积:

StringBuilder sb=new StringBuilder();

..
@Override
public void actionPerformed(ActionEvent ae) {//method executed on click
...
sb.append(((JButton)ae.getSource()).getText());//get the JButton text and append it
}

只需在其实例

上调用StringBuilder即可打印toString()

答案 1 :(得分:2)

一种方法是使用StringBuilder作为类成员变量,并在每个按钮上附加值:

myStringBuilder.append(myButton.getText());
...

并在需要时获取全文:

String numberString = myStringBuilder.toString();

StringBuilder以FIFO方式工作,因此将保持数字的添加顺序。

答案 2 :(得分:1)

希望这个帮助...你可以在editText控件或textview中显示值,没关系,这里我在Eclipse中使用了EditText控件

EditText etView = (EditText)findViewById(R.Id.etView);

When you click button 4 -->> etView.Append("4");
When you click button 6 -->> etView.Append("6");
When you click button 3 -->> etView.Append("3");

463