栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

getSource()和getActionCommand()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

getSource()和getActionCommand()

假设您在谈论

ActionEvent
类,那么这两种方法之间会有很大的不同。

getActionCommand()

给您一个代表动作命令的字符串。该值是特定于组件的;对于a,
JButton
您可以选择使用来设置值,
setActionCommand(Stringcommand)
对于a,
JTextField
如果您未设置此值,它将自动为您提供文本字段的值。根据javadoc,这是为了与兼容
java.awt.TextField

getSource()
由(via
)的子
EventObject
类指定。这为您提供了事件来源的参考。
ActionEvent``java.awt.AWTEvent

编辑:

这是一个例子。有两个字段,一个字段有明确设置的动作命令,另一个则没有。在每个文本框中输入一些文本,然后按Enter。

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);  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/392450.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号