加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何更改JTextField的值?

发布时间:2020-12-15 05:10:28 所属栏目:Java 来源:网络整理
导读:我正在尝试使用JFrame和Swing构建一个 Java应用程序,我有5个JTextField实例.其中一个是Sum. 我需要在文本字段中输入一些数字时自动更改JTextField. 怎么可能? 我写的是这里. private void displaytotalActionPerformed(java.awt.event.ActionEvent evt) {//
我正在尝试使用JFrame和Swing构建一个 Java应用程序,我有5个JTextField实例.其中一个是Sum.

我需要在文本字段中输入一些数字时自动更改JTextField.

怎么可能?

我写的是这里.

private void displaytotalActionPerformed(java.awt.event.ActionEvent evt) {
// display total:
Float num1,num2,num3,num4,num5,num6,result;
num1 = display1b.getText().equals("") ? 0 : Float.parseFloat(display1b.getText());
num2 = display2b.getText().equals("") ? 0 : Float.parseFloat(display2b.getText());
num3 = display3b.getText().equals("") ? 0 : Float.parseFloat(display3b.getText());
num4 = display4b.getText().equals("") ? 0 : Float.parseFloat(display4b.getText());
num5 = display5b.getText().equals("") ? 0 : Float.parseFloat(display5b.getText());
num6 = display6b.getText().equals("") ? 0 : Float.parseFloat(display6b.getText());

result = num1+num2+num3+num4+num5+num6;

System.out.println(result);
}

我试图获得总和并使用按钮在此文本字段中显示它并且它工作.但我希望它能自动完成.但上面的代码在textfield上没有显示任何内容.

我对此很陌生,如果你能引导,我感激不尽.

解决方法

我想你在找

> JTextField的setText()方法.
> Writing a DocumentListener知道文本何时更改并应用总和
> Writing a DocumentFilter以确保您的程序不会因输入与数字不同而崩溃.

另一种方法是使用JFormattedTextField并使用监听器.

一些建议.

>开发直觉,通常java类的属性由(get | set)属性改变.使用像Netbeans这样的IDE,它可以帮助你找到东西.
>自动化通常通过使用监听器来实现,只需了解何时使用(这也是直觉的一部分).
>当您发现自己编写重复代码时,请考虑使用函数.即

而不是有6次:

display1b.getText().equals("") ? 0 : Float.parseFloat(display1b.getText());

考虑将您的字段放在ArrayList中并编写一个迭代它们的函数,并使用上面的一行来设置所有值.

>按照JavaTutorials进行硬编码的额外努力,或者在这里询问.对你来说会更有成效.因为您将学习如何自己学习并深入学习文档.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读