如何创建一个包含字符串和对象哈希表条目的 JList?

发布于 2024-12-25 03:23:35 字数 154 浏览 0 评论 0原文

我想创建一个包含字符串和对象的哈希表条目的 JList:

Hashtable<String,Object>

JList 元素应包含哈希表条目并显示作为字符串的条目键的值...

这可能吗?怎么办呢?

I want to create a JList that contains entries of a Hashtable of String and object :

Hashtable<String,Object>

the JList element should contain the hashtable entry and display the value of the entry key that is a string ...

Is it possible ? How can it be done ?

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

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

发布评论

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

评论(4

和我恋爱吧 2025-01-01 03:23:35

通过扩展 AbstractListModel 实现 ListModel 接口。使用派生模型创建您的 JList。另请参阅如何使用列表

Implement the ListModel interface by extending AbstractListModel. Use the derived model to create your JList. See also How to Use Lists.

摘星┃星的人 2025-01-01 03:23:35

Hashtable 的键集用于 JList 中的数据:

Hashtable<String, Object> table = new Hashtable<String, Object>();
JList list = new JList(table.keySet().toArray());

您还可以调用:

list.setListData(table.keySet().toArray())

Use the keyset of your Hashtable for the data in your JList:

Hashtable<String, Object> table = new Hashtable<String, Object>();
JList list = new JList(table.keySet().toArray());

You can also call:

list.setListData(table.keySet().toArray())
云仙小弟 2025-01-01 03:23:35

Hashtable 是“旧的”,因此您应该考虑使用 HashMap。

您可以通过调用values() 来获取Hashtable 中所有值的集合。哎呀 - 我误读了你的问题,将其更改为 keySet()。如果您愿意使用其 toString() 方法在 JList 中显示它们(例如,它们是字符串),只需将它们全部添加到 JList 中即可。不幸的是,JList 构造函数,至少在 J6 中,不接受 Collections(我的小烦恼 - Collections 已经存在多少年了???),所以你必须在那里做一些工作。

一个警告。 Hashtable 和 HashMap 以一种相当不可预测的方式对它们的条目进行排序。因此 JList 中值的顺序几乎肯定不是您想要的顺序。考虑使用 LinkedHashMap 或 TreeMap 来维护更合理的排序。

Hashtable is "old", so you should consider using a HashMap instead.

You can get a Collection of all the values in the Hashtable by calling values(). OOPS - I misread your question, change that to keySet(). If you are happy with displaying them in the JList using their toString() method (e.g., they are Strings), just add them all to the JList. Unfortunately, the JList constructors, at least in J6, do not take Collections (pet peeve of mine - how many years have Collections been around???), so you'll have to do a little work there.

One warning. Hashtable and HashMap order their entries in a pretty unpredictable manner. So the order of the values in the JList will almost certainly not be the order you want. Consider using a LinkedHashMap or a TreeMap to maintain a more reasonable ordering.

断念 2025-01-01 03:23:35

您可以实现 ListModel 接口来执行您想要的任何操作。创建一个类来实现它并保存您想要的 HashMap。请特别注意 getElementAt 方法的实现。

You can implement the ListModel interface to do anything you want. Create a class that implements it and holds onto your desired HashMap. Pay particular attention to the getElementAt method implementation.

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