如何使用一个 ListSelectionEvent 处理多个 jList

发布于 2024-12-06 03:55:39 字数 761 浏览 0 评论 0原文

我的类 frmMain 中有三个 jList。我创建了一个名为 ListActions 的类。下面的代码适用于一个 jList。它返回一个 jList 的单击值。

我如何区分其他三个jList?或者我需要为每个侦听器创建一个单独的类?

我需要根据单击的 jList 执行操作。我尝试查看是否可以访问所单击的 jList 的变量名称,但找不到执行此操作的方法...

class ListActions implements ListSelectionListener {

public void valueChanged(ListSelectionEvent evt) {

    if (!evt.getValueIsAdjusting()) {

        JList list = (JList) evt.getSource();

        int iSelectedDatabase = list.getSelectedIndex();
        Object objSelectedDatabase = list.getModel().getElementAt(iSelectedDatabase);
        String sSelectedDatabase = objSelectedDatabase.toString();


        JOptionPane.showConfirmDialog(null, sSelectedDatabase);

    }
}

}

谢谢, - 杰森

I have three jLists in my class frmMain. I have created a class called ListActions. The code below is working for one jList. It returns the value clicked for one jList.

How do I distinguish between the three other jList? Or do I need to create a seperate class for each listener?

I need to perform an action based on which jList was clicked. I attempted to see if I could access the variable name of the jList that was clicked, but couldn't find a way to do this...

class ListActions implements ListSelectionListener {

public void valueChanged(ListSelectionEvent evt) {

    if (!evt.getValueIsAdjusting()) {

        JList list = (JList) evt.getSource();

        int iSelectedDatabase = list.getSelectedIndex();
        Object objSelectedDatabase = list.getModel().getElementAt(iSelectedDatabase);
        String sSelectedDatabase = objSelectedDatabase.toString();


        JOptionPane.showConfirmDialog(null, sSelectedDatabase);

    }
}

}

Thanks,
- Jason

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋千易 2024-12-13 03:55:39

JList 继承自 组件

因此,您可以使用 getName () 方法来获取您的 Component 的名称并知道调用了哪一个。

JList inherits from Component.

Therefore, you can use the getName() method to get the name of your Component and know which one has been called.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文