【问题标题】:Running the action from a jTextField [closed]从 jTextField 运行操作 [关闭]
【发布时间】:2023-03-18 21:28:01
【问题描述】:

我正在为 Java 程序(使用 Netbeans)制作界面,并且我有一个文本字段,用户在其中键入要执行的程序的命令。问题是我在文本字段下方还有一个按钮,它的作用与键入命令后按 Enter 的作用相同。 那么基本上我如何从按钮上的文本字段“运行”操作?我只是不想重新复制和粘贴代码。我尝试了 jTextField1 对象中的许多方法,但没有一个对我有帮助。我知道这可能很愚蠢,但请帮助我!

【问题讨论】:

  • 请格式化您的帖子。请张贴你所做的。请告诉我们你卡在哪里。如果这是你的作业,没有人会做你的作业
  • 到目前为止你尝试过什么?请阅读How do I ask a good question?

标签: java swing user-interface text jtextfield


【解决方案1】:

“问题是我在文本字段下方还有一个按钮,它的作用与键入命令后按 Enter 的作用相同”

How to use Actions

Action 可用于将功能和状态与组件分开。例如,如果您有两个或多个执行相同功能的组件,请考虑使用 Action 对象来实现该功能。 Action 对象是一个 action listener,它不仅提供动作事件处理,还提供动作事件触发组件状态的集中处理,例如 tool bar buttonsmenu itemscommon buttons 和 @987654327 @。动作可以处理的状态包括文本、图标、助记符、启用和选中状态。

例子:

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import javax.swing.*;

public class AddJarDemo {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                final JTextField field = new JTextField(15);
                Action action = new AbstractAction("Hello Action"){
                    public void actionPerformed(ActionEvent e) {
                        System.out.println(field.getText());
                    }
                };
                field.setAction(action);
                JButton button = new JButton(action);
                JPanel panel = new JPanel(new GridLayout(0, 1));
                panel.add(field);
                panel.add(button);
                JOptionPane.showMessageDialog(null, panel);
            }
        });
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    相关资源
    最近更新 更多