【问题标题】:How to create one keyTyped method for many JTextFields in Netbeans如何在 Netbeans 中为多个 JTextField 创建一个 keyTyped 方法
【发布时间】:2019-04-02 15:36:07
【问题描述】:

我将使用 Netbeans 在 Java 中创建一个简单的 GUI 程序。我想用完全相同的方法(keyTyped)创建 100 个 JTextField 来输入特定值(只有数字和最多 2 个字符)。如何仅生成或创建一种方法 keyTyped,然后将其包含在 Netbeans 中的所有 JTextField 中?

【问题讨论】:

  • 嗨。请添加您已经尝试过的代码,以便我们查看。
  • I want to create a 100 JTextFields with exactly the same method (keyTyped) to enter a specific values (only numbers and maximum 2 chars). - 使用 JFormattedTextField。您可以指定一个掩码,只允许 2 位数字。

标签: java swing netbeans jtextfield


【解决方案1】:

KeyTyped - 你必须是一个 KeyListener,不要这样做。在 JTextField 中限制输入文本的规范方法是在文本字段的 Document 上使用 DocumentFilter。如果您想将此应用于许多 JTextField,则将它们放入 ArrayList<JTextField> 并使用 for 循环设置所有过滤器。

更好的是,听起来您使用 JTable 可能会更好。

【讨论】:

  • 不知道如何用我的手机把它变成一个社区维基
【解决方案2】:

只需创建一个执行检查的方法,并在您选择的事件发生时调用它:

// pass field as a parameter so the method knows which field to check
public void performCheck(final JTextField field) {
    // check logic
}

// do this for all your text fields
JTextField text = new JTextField();
// choose appropriate listener type
text.addActionListener(e -> performCheck(text));

【讨论】:

    猜你喜欢
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    相关资源
    最近更新 更多