gpt4 book ai didi

java - 使用 JButtons 编码数字用户输入的最佳方法?

转载 作者:行者123 更新时间:2023-12-02 05:49:18 25 4
gpt4 key购买 nike

我正在开发一个 Java Swing 应用程序,该应用程序具有使用 JButton 的数字键盘。它有数字 0 - 9、一个小数点和一个输入按钮。显然,按钮上的数字只是一个字符,而不是我想要的整数。

我希望用户能够单击按钮来输入货币金额,例如 25.68 美元。当他们完成后,他们将按 Enter 键。

我想把这个金额放入一个双变量中。

在 actionPerformed 函数中,我将执行通常的操作:

if (e.getSource() == numberButton1){
//put in first index of array
}

最初我想将其放入一个整数数组中,并通过将其分配给 -1 并将输入分配为 -2 来解释点按钮。但是一旦我在数组中有数字,它们就会倒退,我知道我可以通过计算元素数量并从最后一个索引开始然后使用 10 的因子来反向读出它们,但这一切似乎都太过分了复杂的。更不用说必须考虑小数位了。因此,在我开始编写一百万行代码之前,我想我会问......

...有没有简单的方法可以做到这一点?

最佳答案

考虑看看 Actions API ,它将允许您定义一个独立的操作,您可以按照自己喜欢的方式配置该操作

例如...

public class NumberAction extends AbstractAction {

private char value;
private JTextField field;

public NumberAction(char value, JTextField field) {
this.value = value;
this.field = field;
putValue(NAME, Character.toString(value));
}

@Override
public void actionPerformed(ActionEvent e) {
String text = field.getText();
text += value;
field.setText(text);
}

}

现在,我只是使用 char 作为基值,实际上,您实际上并没有使用任何类型的数值...

你可以构建你的按钮来做类似的事情

JButton num7 = new JButton(new NumberAction('7', field);
JButton num8 = new JButton(new NumberAction('8', field);
JButton num9 = new JButton(new NumberAction('9', field);
//...

例如...

关于java - 使用 JButtons 编码数字用户输入的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23715407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com