当前位置: 首页 > 面试题库 >

对象的JComboBox实例中的项目

梁丘赞
2023-03-14
问题内容

您好,我有以下代码来查看JComboBox中的项目是否是一个类的实例(Persoon)。

    public class ItemChangeListener implements ItemListener {

        Persoon selectedPerson;
        RekeningApp app;
        PersoonView view;

        public ItemChangeListener(PersoonView view) {

            this.view = view;

        }

        public void itemStateChanged(ItemEvent event) {
            if (event.getStateChange() == ItemEvent.SELECTED) {
                Object item = event.getItem();
                System.out.println("Itemchangelistener " + item);
                // do something with object
                if(item instanceof Persoon) {
                    System.out.println("Instance");
                    this.selectedPerson = (Persoon) item;
                    view.setOverzicht(this.selectedPerson);
                } else {
                    this.selectedPerson = null;
                }
            }
        }

    }

item的输出是persoon.name变量的值。所以JComboBox中的项目实际上是字符串。

这就是设置JComboBox列表的方式。

personenList.addItem(persoon.getNaam());

我的问题是..我如何检查这个Persoon对象是否存在并且与JComboBox中的对象相同?


问题答案:

您应该添加到JComboBoxPerson,当你打电话的对象,不只是名字,所以Object item = event.getItem();这将返回Person,而不是一个String。如果要在中显示此人的姓名,请在类JComboBox中将toString方法重写为Person类似以下内容:

public String toString()
    return this.naam;
}

并且您应该将项目添加到列表中。

personenList.addItem(persoon);

编辑

如果您不想(或可以)覆盖此toString方法,则应使用自定义渲染器。这是示例的链接:

http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#renderer



 类似资料:
  • 最近我遇到了一个问题,ArrayList中充满了对象 而每个 Item 对象都有自己的属性,如或整数。在我的图形界面中,我希望JComboBox仅填充 ArrayList中每个对象的名称值。 中的对象是在我的程序运行时添加的,它一开始没有值。将新项目添加到我的数组列表后,我调用 但这只给我一些类似的东西。有没有可能只显示ComboBox中ArrayList中每个项目的值?

  • 本文向大家介绍举例说明JavaScript中的实例对象与原型对象,包括了举例说明JavaScript中的实例对象与原型对象的使用技巧和注意事项,需要的朋友参考一下 首先声明:javascript中每个对象都有一个constructor属性和一个prototype属性。constructor指向对象的构造函数,prototype指向使用构造函数创建的对象实例的原型对象。 在这段代码中会报错,sayN

  • 本文向大家介绍Java中的对象和对象引用实例浅析,包括了Java中的对象和对象引用实例浅析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java中的对象和对象引用。分享给大家供大家参考。具体分析如下: 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然。今天我们就来一起了解一下对象和对象引

  • 问题内容: 我对Python 3中的和类有些困惑。也许有人可以消除我的困惑或提供一些其他信息。 我目前的理解是,每个类(除外)都从称为的基类继承。但是每个类(包括)也是该类的一个实例,它是自身的实例,并且也从继承。 我的问题是: 是否有一个原因/设计决策,为什么是的实例并从中继承?对象的/ class是否也可以是对象本身? 类()如何成为其自身的实例? 哪一个是真正的基类或? 我一直认为这将是最“

  • 我试图将对象(JavaBean)添加到列表中。 这只会创建一个(类型)的对象,因此它会使用相同的数据将相同的对象添加9次。 这将创建多个对象,添加9个具有diff值的diff对象。 如果(对于循环)每次发出请求时都创建数百个对象而不是9个?所以它在内存中转储,对吗? 如何避免这种情况? 提前谢谢。

  • 带有同伴对象的简单示例类 值测试可以通过访问,但如何从MyClass的实例访问?如果我有,那么我如何从sample访问测试?不正确....有没有办法? Java,C++,python等都有很简单的解决方案...(我将为每个有帮助的is提供代码示例),我认为kotlin会有一个比使用Java更好的解决方案。 对于在没有对象实例(如工厂)的情况下访问类属性,kotlin companion objec