ComboBox
tschanne
- java
0 Axel Richter0 tschanne0 tschanne0 Axel Richter0 tschanne
Kann ich bei einer JAVA-Combo-Box bei addItem nicht nur einen String, sondern auch noch einen Value hinzufügen
(wie bei HTML <option value></option>-Tag)
wenn nein, mit welcher funktion ist das machbar?
und wie kann ich dann denn value ansprechen? zbs. um einer Variablen zuzuweisen.
vielen dank
mfg tschanne
Hallo,
Kann ich bei einer JAVA-Combo-Box bei addItem nicht nur einen String, sondern auch noch einen Value hinzufügen
Du kannst einer JComboBox mit .addItem(Object anObject) überhaupt _nur_ Objekte hinzufügen. Natürlich können das auch spezielle, von Dir erstellte, Objekte sein.
Beispiel:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyJComboBox extends JFrame implements ActionListener{
public MyJComboBox() {
super("JList Sampler Demo");
initList();
}
public void initList() {
JComboBox jcbb = new JComboBox();
jcbb.addItem(new TextValuePair("text1", "value1"));
jcbb.addItem(new TextValuePair("text2", "value2"));
jcbb.addItem(new TextValuePair("text3", "value3"));
jcbb.addActionListener(this);
Container cp = this.getContentPane();
cp.setLayout(new FlowLayout());
cp.add(jcbb);
}
public void actionPerformed(ActionEvent e) {
JComboBox jcbb = (JComboBox)e.getSource();
String text = ((TextValuePair)jcbb.getSelectedItem()).text;
String value = ((TextValuePair)jcbb.getSelectedItem()).value;
System.out.println(text + " " + value);
}
private final class TextValuePair {
final String text;
final String value;
TextValuePair(String text, String value) {
this.text = text;
this.value = value;
}
public String toString() {
return this.text;
}
}
public static void main(String[] args) {
JFrame frame = new MyJComboBox();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.pack();
frame.setSize(200,100);
frame.setVisible(true);
}
}
viele Grüße
Axel
Hammergeil :)
vielen dank für den Code
so klappts ohne prob
mfg
tschanne
aber wie kann ich jetzt auf den selektierten value zugreifen??
Hallo,
aber wie kann ich jetzt auf den selektierten value zugreifen??
Genau das passiert doch hier:
...
public void actionPerformed(ActionEvent e) {
JComboBox jcbb = (JComboBox)e.getSource();
String text = ((TextValuePair)jcbb.getSelectedItem()).text;
String value = ((TextValuePair)jcbb.getSelectedItem()).value;
System.out.println(text + " " + value);
}
...
viele Grüße
Axel
:)
ahso :9
vielen dank, bin halt net so der java-hirsch ;)....
mfg tschanne