कक्षा / वस्तु है कि या तो एक JTextField या JComboBox स्टोर कर सकते हैं

वोट
42

मैं अपने ही कक्षा / वस्तु है कि एक ही चर के तहत या तो एक JTextField या JComboBox स्टोर कर सकते हैं बनाने के लिए करना चाहते हैं। अभी तक मेरे पास इतना ही है:

import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JTextField;

public class Parameter {

String name;
String type;
String value;
JComponent comp;

Parameter(String inName, String inType, String inValue) {

    this.name = inName.trim();
    this.type = inType.trim();
    this.value = inValue.trim();

    // Set Component Type
    if (type.equalsIgnoreCase(bool)) {
        String[] tfArray = { Yes, No };
        comp = new JComboBox(tfArray);
        comp.setFocusable(false);
        ((JComboBox)comp).setSelectedItem(value.trim());

    } else {
        comp = new JTextField(value);
    }

}// End Parameter Constructor

public String getName() {
    return name;
}

public String getType() {
    return type;
}

public String getValue() {
    return value;
}

public JComponent getComp() {
    return comp;
}

}// End Parameter Class

मैं तो एक ArrayList कि मेरे पैरामीटर वस्तुओं को संग्रहीत करता है। नाम / प्रकार / मूल्य वास्तव में एक XML फ़ाइल से आ रहा है, लेकिन मैं एक उदाहरण के लिए कोड को सरल बनाया गया है:

static ArrayList<Parameter> parameterArray = new ArrayList<Parameter>();

for(int i = 0; i < 10; i++){
parameterArray.add(new Parameter(parameterName,parameterType,value));
}

मैं तो जैसे एक JPanel के अवयव जोड़े ..

for(int i = 0; i < 10 ; i++){
panel.add(parameterArray.get(i).getComp());
}

यह सभी काम करता है इस स्तर से ऊपर ठीक! जैसा कि उम्मीद की मैं comboboxes / JTextFields मिलता है। लेकिन जब मैं पाठ प्राप्त करने का प्रयास / SelectedItem यह मुझे जब पैरामीटर वस्तु पहले जैसे प्रारंभ किया गया था से मूल्य दे रहा है

for(int i = 0; i < 10; i++){
  if(parameterArray.get(i).getType.equalsIgnoreCase(bool){
    value = ((JComboBox)parameterArray.get(i).getComp()).getSelectedItem().toString();
  }else{
    value = ((JTextField)parameterArray.get(i).getComp()).getText();
  }
}

मुद्दा है कि अगर मैं इंटरफ़ेस से JComboBox या JTextField संशोधित .. यह अभी भी जब यह प्रारंभ किया गया था .. नहीं नए संशोधित मूल्य से मूल्य का उपयोग कर रहा है। कोई विचार??

धन्यवाद

टिम

27/05/2014 को 10:28
उपयोगकर्ता
अन्य भाषाओं में...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more