你好,我有ItemChangeListener ...但我希望這是負責多個視圖。 (如果不這樣做的正確方法這個請告訴我是怎麼回事),所以,當我在一個JComboBox,選擇一個項目我得到我選擇ItemChangeListener與多個視圖
public class ItemChangeListener implements ItemListener {
Persoon selectedPerson;
PersoonView view;
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
Object item = event.getItem();
// do something with object
if(item instanceof Persoon) {
this.selectedPerson = (Persoon) item;
view.setOverzicht(this.selectedPerson);
} else {
this.selectedPerson = null;
}
}
}
}
該對象的工作,但如u現在就可以看到..它只適用於一個特定的視圖PersoonView視圖類。我應該如何修改這個以使用多個視圖?
編輯: 我認爲我做到這一點(現在我有2個視圖)
personenList = new JComboBox();
for (Persoon p : app.getPersonen()) {
personenList.addItem(p.getNaam());
}
personenList.addItemListener(new ItemChangeListener());
每次我選擇另一項目我想要得到的selectedPerson在該視圖例如我想一起工作在我的視圖中的ActionListener中執行此操作。
selectedPerson.voegtoeRek(new Rekening(Integer.parseInt(nieuwnr.getText()), selectedPerson));
所以實際上我需要找到一些方法來從ItemChangeListener中獲取變量。
那裏我看不到任何問題 – mKorbel
我有2個視圖調用此personenList.addItemListener(new ItemChangeListener());這兩個視圖都有一個方法來更新一個JTextArea,其中包含關於所選項目的信息。 itemchangelistener如何讓正確的方法知道要選擇的視圖? – Reshad
你是[平均(只有sceleton)](http://stackoverflow.com/a/19511300/714968),或者可能有二維數組作爲JComboBox的來源,一個,兩個三個JComboBoxes(有點像'Vector' ,地圖或AbstractTableModel),然後在JComboBox中的選擇可以返回任何值從鏈接,相關的行 –
mKorbel