- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
什么是 getSource?它返回什么?
什么是 getActionCommand() 以及它返回什么??
我对这两者感到困惑,任何人都可以给我或区分它们吗? UI 中的 getSource 和 getActionCommand() 有什么用?具体是 TextField 还是 JTextField?
最佳答案
假设您正在谈论 ActionEvent
类,那么这两种方法有很大的区别。
getActionCommand()
为您提供一个表示操作命令的字符串。该值是组件特定的;对于 JButton
,您可以选择使用 setActionCommand(String command)
设置值,但对于 JTextField
,如果您不设置它,它会自动为您提供文本字段的值。根据 javadoc,这是为了与 java.awt.TextField
兼容。
getSource()
由 EventObject
类指定,ActionEvent
是子类(通过 java.awt.AWTEvent
)。这为您提供了事件来源对象的引用。
编辑:
这是一个例子。有两个字段,一个明确设置了操作命令,另一个没有。在每个文本中输入一些文本,然后按回车键。
public class Events implements ActionListener {
private static JFrame frame;
public static void main(String[] args) {
frame = new JFrame("JTextField events");
frame.getContentPane().setLayout(new FlowLayout());
JTextField field1 = new JTextField(10);
field1.addActionListener(new Events());
frame.getContentPane().add(new JLabel("Field with no action command set"));
frame.getContentPane().add(field1);
JTextField field2 = new JTextField(10);
field2.addActionListener(new Events());
field2.setActionCommand("my action command");
frame.getContentPane().add(new JLabel("Field with an action command set"));
frame.getContentPane().add(field2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(220, 150);
frame.setResizable(false);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent evt) {
String cmd = evt.getActionCommand();
JOptionPane.showMessageDialog(frame, "Command: " + cmd);
}
}
关于java - getSource() 和 getActionCommand(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8214958/
我一直在使用我的教科书来构建 GUI,但有一件事一直困扰着我。当我尝试使用removeAll方法创建一个清除按钮时,它根本不起作用。我一直遇到的问题是 GetActionCommand() is un
我试图做一些简单的事情来编辑文本,但我的按钮不起作用......我有一个 public void actionPerformed(ActionEvent e) { if(e.getAction
这个问题已经有答案了: How do I compare strings in Java? (23 个回答) 已关闭 8 年前。 我不确定我在这里做错了什么。我正在尝试使用 JFrame 创建一个基本
您好,我已经设法让我的按钮着色。现在我想编写一段代码,只允许在任何行或列中使用每种颜色的一个按钮。我试过这个但不能让我的私有(private) boolean 值工作。下面是我现在只想检查行的代码 i
我正在制作一个计算器作为 Java 小程序。我已成功创建布局,并将 actionListener 注册到所有 JButton。 因此,在实现 ActionListener 的类中,我为所有数字按钮提供
我的程序中有一组JRadioButton。 public class SalePanel extends JPanel implements View { private JTextFiel
什么是 getSource?它返回什么? 什么是 getActionCommand() 以及它返回什么?? 我对这两者感到困惑,任何人都可以给我或区分它们吗? UI 中的 getSource 和 ge
我使用此 GUI 程序的主要目的是让用户在名字框中输入学生的名字,在姓氏框中输入相应的姓氏,然后单击“保存”。点击“保存”会将名字和姓氏保存到各自的数组中。用户输入名称后,将单击“排序”。然后,这将按
当键盘按键全部正常(a-z)时,我处理某些按键的代码工作正常,但现在我想将默认屏幕截图键设置为 F9。 if (e.getActionCommand().toUpperCase().equals(co
因此,在其他人的帮助下,我终于设法编写了一个交替显示“Hello World!”标签的按钮。到“你好宇宙!”又回来了。我使用下面的代码,并使用相同的方法尝试更改颜色,但没有按预期工作。我已经为此搜索了
有人可以告诉我是否可以嵌套 if(e.getActionCommand().equals("some String"){//do it} 例如。 。 。 . public void actionPer
我刚开始学习 Java GUI,正如标题所说,我对 getActionCommand 有疑问。它是微波模拟。当倒计时正在运行并且用户按下停止时,它将计时器重置为 0(或空字符串)。 CountF 是一
上个月,我用我对 Java 所知甚少的知识编写了一个可爱的 Tictactoe 游戏。它的一个组成部分在下面的 3 个代码片段中: // from the constructor ...
我是一名初学者程序员,正在尝试制作一个简单的计算器。在代码末尾,我尝试让文本字段显示用户按下的任何按钮。由于某种原因,text.setText("7") 没有显示在文本字段中。你能帮我解决这个问题吗?
如何知道哪些命令可用?我尝试在 Java SDK 中查找,但没有找到相关信息。 我能想到的只有这样 class ButtonListener implements ActionListener {
我的 F 键(F1、F2 等)有问题。我想给 F 键添加 Action ,我想在一个事件中处理所有这些。这就是为什么我想使用 getActionCommand 方法,但它总是返回 null。但是,如果
我曾尝试寻找其他明显的结果,但由于某种原因,当我添加它们时,我的程序有一半停止工作。基本上,我试图从 JTextField 输入这两个数字并将它们相加,但是,我不能将两个字符串相加。我试过将结果转换为
我刚刚开始学习 Android 开发,作为一个小项目,我正在构建一个计算器。它的工作方式是,当按下数字按钮时,数字会附加到 EditText 中。我不想为每个按钮编写这段代码,因为它很乏味且效率低下,
我必须向 JPanel 编写一个 ActionListener。 任务,取决于按下的按钮以引发所需的操作。我知道的唯一方法是使用 event.getActionCommand() 从按钮获取标签,并根
我是一名优秀的程序员,十分优秀!