gpt4 book ai didi

java - jcombobox setSelectedItem

转载 作者:行者123 更新时间:2023-12-02 03:32:50 25 4
gpt4 key购买 nike

我创建了一个包含三个项目的组合框。我正在尝试按索引和值设置所选项目。

  1. 当我执行 setSelectedIndex () 时,代码运行良好。
  2. 我正在尝试按值设置所选项目。所以我尝试创建另一个具有相同值(变量名 d)的对象,并执行 setSelectedItem 但失败。当我尝试打印选定的项目时,它不会打印“C C”。它打印之前选择的项目“B B”

那么如何按值设置selectedItem呢?做建议。非常感谢!

import javax.swing.JComboBox;

public class testt {

public static void main(String[] args) {

obj a = new obj("A A");
obj b = new obj("B B");
obj c = new obj("C C");

obj[] lst = { a, b, c };

JComboBox box = new JComboBox(lst);
box.setSelectedIndex(1);
System.out.println("value is:"+((obj) box.getSelectedItem()).toString());

obj d = new obj("C C");
box.setSelectedItem(d);
System.out.println(value is:"+((((obj) box.getSelectedItem()).toString());
}
}

class obj {
String value;
public obj(String value) {
this.value = value;
}
public String toString() {
return value;
}
}

最佳答案

等于和哈希码问题。下面应该可以解决问题。

  class obj {
String value;
public obj(String value) {
this.value = value;
}
public String toString() {
return value;
}

@Override
public int hashCode() {
int hash = 5;
hash = 17 * hash + Objects.hashCode(this.value);
return hash;
}

@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final obj other = (obj) obj;
if (!Objects.equals(this.value, other.value)) {
return false;
}
return true;
}

关于java - jcombobox setSelectedItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37849185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com