首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java swing中访问在运行时实例化的对象的事件侦听器

如何在java swing中访问在运行时实例化的对象的事件侦听器
EN

Stack Overflow用户
提问于 2019-05-31 01:48:37
回答 1查看 49关注 0票数 1

我有一个定制的JPanel itemSmallCard(String prodID, String productName, String price, String retailer),我使用它在另一个JPanel中创建了它的多个实例,在按钮的ActionPerformed事件上使用不同的参数,如下所示:

代码语言:javascript
复制
JPanel iC = new itemSmallCard("123456789ab", "Inspiron 7567 Intel Core i5 DELL Laptop", "48957", "Cloudtail Pvt. Ltd.");
        mainContentPane.add(iC);
        mainContentPane.revalidate();
        mainContentPane.repaint();

但是,由于所有新的JPanels都是用相同的代码使用相同的变量iC创建的,我不知道如何从它们访问特定的JPanel变量,因此也无法访问它的事件侦听器。我怎样才能做到这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-31 01:59:42

也许可以创建一个ArrayList (如果您不需要访问不基于位置的特定don)。

代码语言:javascript
复制
ArrayList<JPanel> panels = new ArrayList<JPanel>();

或者,如果您需要访问它们,您可以创建一个"HashMap“并将您的ID存储在其中。

代码语言:javascript
复制
WeakHashMap<String, JPanel> panels = new WeakHashMap<String, JPanel>();

panels.put("123456789ab", new itemSmallCard("123456789ab", "Inspiron 7567 Intel Core i5 DELL Laptop", "48957", "Cloudtail Pvt. Ltd.");// Adds a product with that info

panels.get("123456789ab"); // Returns the panel with that ID.

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56383205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档