मैं प्रकार Person
के ComboBox<Perosn>
, जिसमें मैं Person
वर्ग की कुछ वस्तु को शामिल किया है है,JavaFX संपादन योग्य ComboBox: आइटम चयन पर दिखा toString
मैं setCellFactory(Callback)
विधि ड्रॉप डाउन
combobox.setCellFactory(
new Callback<ListView<Person >, ListCell<Person >>() {
@Override
public ListCell<Person > call(ListView<Person > p) {
ListCell cell = new ListCell<Person >() {
@Override
protected void updateItem(Person item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setText("");
} else {
setText(item.getName());
}
}
};
return cell;
}
});
और setButtonCell(ListCell)
चयन पर combobox
में नाम दिखाने के लिए विधि।
combobox.setButtonCell(
new ListCell<Object>() {
@Override
protected void updateItem(Person t, boolean bln) {
super.updateItem(t, bln);
if (bln) {
setText("");
} else {
setText(t.getName());
}
}
});
यह सामान्य मामले के साथ पूरी तरह से काम करता है अच्छा लेकिन जब मैं संपादन योग्य बता गया का उपयोग तो यह विफल रहता है।
जब मैं लिखता हूं, combobox.setEditable(true);
फिर आइटम चयन पर कंबोबॉक्स का टेक्स्ट फ़ील्ड (संपादक) toString()
व्यक्ति वर्ग की विधि दिखाता है।
सामान्य मामला:
संपादन योग्य मामला:
वहाँ इस के लिए किसी भी समाधान है ??
मैं एक मॉडल वर्ग है,
public class Person {
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" + "name=" + name + ", age=" + age + '}';
}
}
तुम मेरे जवाब यह है कि सही समाधान देता है और 1 घंटे तैनात किया गया था अपने प्रश्न प्रस्तुत की गई थी के बाद को देखा है? – Sebastian