我正在使用Java创建程序的接口(使用Netbeans),我有一个文本字段,用户在其中键入要执行的程序的命令。问题是我在文本字段下方还有一个按钮,它应该与输入命令后按下输入相同。 那么基本上我如何从按钮上的文本字段“运行”动作?我只是不想再次复制和粘贴代码。我尝试了jTextField1对象中的许多方法,但没有一个帮助过我。我知道这可能是愚蠢但请帮助我!
答案 0 :(得分:2)
"问题是我在文本字段下面还有一个按钮,它应该与输入命令后按下输入相同,"
Action
可用于将功能和状态与组件分开。例如,如果您有两个或多个执行相同功能的组件,请考虑使用Action对象来实现该功能。Action
对象是action listener,不仅可以提供操作事件处理,还可以集中处理动作状态 - 事件触发组件,例如tool bar buttons,menu items ,common buttons和text fields。操作可以处理的状态包括文本,图标,助记符,已启用和已选择状态。
示例:
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);
}
});
}
}