我有一些奇怪的,我不明白爲什麼發生。 我搜索了包括這裏的網頁,但無法找到答案。 我有3個組合框,其後是2。 它是一個小程序轉換工具。 每當我選擇我想要在主組合框中轉換的字段時,它將加載其他兩個值並進行轉換。但是在每次我選擇要將它轉換爲ComboBox的時候,都會加載它。 這是代碼:// 這是對象//////JComboBox和行動,新模型等
MyEvent handler = new MyEvent();
MainCombo = new JComboBox(issueArray);
MainCombo.setBounds(120, 50, 120, 20);
MainCombo.addActionListener(handler);
add(MainCombo);
Combo1 = new JComboBox(Angle);
Combo1.setBounds(120, 90, 120, 20);
Combo1.addActionListener(handler);
add(Combo1);
Combo2 = new JComboBox(Angle);
Combo2.setBounds(320, 90, 120, 20);
Combo2.addActionListener(handler);
add(Combo2);
//The Method To Change Values In The ComboBox
public void loadIssueParam(String Issue){
Combo1.removeAllItems();
Combo2.removeAllItems();
switch (Issue) {
case "Angle":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Angle);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Area":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Area);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Data":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Data);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Energy":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Energy);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Force":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Force);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Length":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Length);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Mass":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Mass);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Power":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Power);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Pressure":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Pressure);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Speed":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Speed);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Temperature":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Temperature);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Time":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Time);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
case "Volume":
{
DefaultComboBoxModel newModel= new DefaultComboBoxModel(Volume);
Combo1.setModel(newModel);
Combo2.setModel(newModel);
break;
}
}
/// I THINK MAYBE THIS METHOD HAVE SOMETHING TO DO WITH IT - OR I NEED SOME HOW TO
/// CLEAR THE SELECTION.
private class MyEvent implements ActionListener{
@Override
public void actionPerformed(ActionEvent event){
if(event.getSource()==MainCombo){
JComboBox cb=(JComboBox)event.getSource();
IssueBox=(String)cb.getSelectedItem();
loadIssueParam(IssueBox);
}
if(event.getSource()==Combo1){
JComboBox cb=(JComboBox)event.getSource();
fromBox=(String)cb.getSelectedItem();
}
if(event.getSource()==Combo2){
JComboBox cb=(JComboBox)event.getSource();
toBox=(String)cb.getSelectedItem();
}
}
}
每一次當我做一個SUB選擇及其影響兩個子組合框。
感謝您的幫助 德尼羅
你可以發佈所有的代碼,以便實際上可以運行它並重現此行爲? – Jagger