用Java获取事件源

苏汉姆

有什么办法可以获取事件的来源吗?我知道event.getSource(),但是,有什么方法可以将其转换为字符串吗?

例如,如果源是按钮button1,则是否有将按钮1赋值给字符串变量的方法?(我正在处理很多按钮,因此,我无法编写if语句)

詹姆斯·泰勒(James Taylor)

为清楚起见:

getSource()方法返回最初发生事件的对象。您可以使用它从元素中获取某种属性,例如标签内的文本或按钮的名称。

这些是字符串,但是如果您选择采用这种方法,那么我将确保选择所有要调用的组件相同的东西ActionListerner

getActionCommand()可能会派上用场。您可以在创建组件时设置唯一的“标识符”,并在以后访问它们。

JButton button = new JButton("Button");
button.setActionCommand("1");

JButton button = new JButton("Button");
button.setActionCommand("2");

然后,您以后可以使用任何喜欢的方法比较这些,也可以像这样做一些花哨的事情(因为您说过不想使用if-else语句):

String command = e.getActionCommand();
int i = Integer.parseInt(command);

switch (i) {
    case 1: // do something
        break;
}

根据Java文档:

返回与此操作关联的命令字符串。该字符串允许“模式”组件根据其状态指定多个命令之一。例如,单个按钮可能会在“显示详细信息”和“隐藏详细信息”之间切换。在每种情况下,源对象和事件都是相同的,但是命令字符串将标识预期的操作。

请记住,我认为这是最好的方法,除非您将一个ActionListerner用于大量组件。另一个答案指出,您可以使ActionListeners每个按钮唯一

希望这对您有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RestFB用Java获取事件

来自分类Dev

获取事件源而不是编写事件源

来自分类Dev

如何从事件参数获取源实例?

来自分类Dev

如何使用Kotlin从onClick事件获取源

来自分类Dev

如何从事件参数获取源实例?

来自分类Dev

在AWT中获取AdjustmentListener事件的源

来自分类Dev

如何从调用元素获取事件源

来自分类Dev

从Angular中的Click事件处理程序中获取源元素

来自分类Dev

java awt事件队列/调度线程未知源错误?

来自分类Dev

用Java如何生成事件?

来自分类Dev

事件源的表现

来自分类Dev

elasticsearch用Java获取聚合

来自分类Dev

用Java获取Nashorn JsonObject

来自分类Dev

用Java获取数组的总和

来自分类Dev

elasticsearch用Java获取聚合

来自分类Dev

用Java为MongoDB创建数据源

来自分类Dev

用Java为MongoDB创建数据源

来自分类Dev

仅从Java中的Twilio获取StatusCallback事件

来自分类Dev

React.js用fluxible从商店获取事件

来自分类Dev

获取在C#中的WiX安装程序中设置的事件源的名称

来自分类Dev

是否可以在 React 中获取(onClick)代理/合成事件的源(键/键代码)?

来自分类Dev

Java:如何获取openjdk8u60源

来自分类Dev

Elasticsearch-使用Java API获取源字段数据

来自分类Dev

获取PHP和Java中的请求源URL

来自分类Dev

如何在Java SWT中的dragEnter期间获取源组件

来自分类Dev

无法获取数据源 [java:app/projectName]

来自分类Dev

Nestjs事件源-事件持久性

来自分类Dev

如何获取列表视图以用Kendo数据源中的新数据刷新

来自分类Dev

使用事件监听器作为Java 8 Stream源