java - 创建多个由用户输入定义的 JTextField s,以便通过按下按钮从所有这些输入中读取文本

标签 java swing listener jbutton jtextfield

我过去常常通过在 for 循环中声明新的 JTextField 来制作我的 UI,同时通过 anon 类将 Action 监听器附加到每个 JTextField,这意味着您必须按回车键触发一个事件,该事件将读取字段的文本并将其放入一个数组中这是代码 Getting data from JTextField that is one of several local variables没有一些小的变化。现在我必须将其修改为,以便我按下 Apply 之类的按钮,以便将值写入数组。虽然我找到了两种方法来做到这一点,但想知道什么是最佳方法。

  1. 可怕的方式。创建一个充当临时存储的数组, 将 ActionListener 替换为 DocumentListener 到这个临时数组的值。和一个将按下的按钮 遍历临时数组,将其值放入 目标数组。

  2. 我在搜索时发现的一个更好的方法,创建一个 JTextField 数组为公共(public)数组,只有一个按钮可以在按下时进行迭代 通过 JTextField 数组并将其值放入目标中 数组。

最佳答案

Adder 是维护 List<JFormattedTextField> 的示例强制格式化。它使用 PropertyChangeListener & FocusListener更新导航事件,例如默认 key bindingTabShift-Tab

image

关于java - 创建多个由用户输入定义的 JTextField s,以便通过按下按钮从所有这些输入中读取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12931685/

相关文章:

java - Java中的策略模式有更好的替代方法吗?

java - 联赛表 - SQL 查询/JDBC 问题

java - JTextfield 应触发所有键盘输入

java - 劫持 Java Swing 组件中的 `repaint()` 调用

java - 设置 jLabel 的打印尺寸并在打印件上放置 jRadiobutton

java - Web 应用程序的单一数据库连接

java - 抛出异常问题

java - Java Panel有时不会完全更新

java - 听一个文件夹的变化java

javascript - hasAttribute、if条件和点击事件