Frage zu JComboBox

sajudi

Grünschnabel
ich habe ein problem mit der JComboBox. alles andere habe ich so angelegt

...private JLabel l;
private JButton bu1;
public definition (String t){
super(t);
this.setLayout(new BorderLayout());
l = new JLabel("aha");
this.add(l.BorderLayout.WEST);
bu1 = new JButton("OK").................

ich muss dass auf die art und weise machen,dass ich darauf auf eine gewisse art zugreifen kann. mein problem ist jetzt nur,wie kann ich die combobox definieren!
wie kann ich dann auf die einzelnen zeilen der combobox zugreifen?
aufn button ma´ch ich das ja mittels
bu1.setActionCommand("A");
 
Hi und herzlich Willkommen im Forum :)

Ich glaube, dass du dich hier im Forenbereich verlaufen hast, denn Java != Javascript, und deine Frage im Java-Bereich besser aufgehoben, wo ich sie dann mal hinleite. ;)

Als neues Mitglied unserer Community solltest du dich mit der Netiquette dieses Forums (insbesondere Punkt 15) vertraut machen, und in deinen zukünftigen Beiträgen etwas mehr auf die Groß- und Kleinscheibung achten. Vielen Dank.
 
Hallo,

eine ComboBox bekommt bei der Initializierung ein Array (oder einen Vector) von Objekten. Die werden dann in einer DropDown Liste angezeigt. Außerdem kannst du zur Laufzeit neue Items hinzufügen oder bestehende wieder entfernen. Hier sind ein Paar Methoden zur Manipulation der ComboBox Daten:
Java:
// combobox anlegen
Object[] items = new Object[] {"A", "B", "C", "D"};
JComboBox comboBox = new JComboBox(items);
// auf die einzelne items zugreifen
int itemCount = comboBox.getItemCount();
Object lastItem = comboBox.getItemAt(itemCount - 1);
// neues item hinzufügen
comboBox.addItem("E");
// items löschen
comboBox.removeItem(lastItem);
comboBox.removeItem(0);
comboBox.removeAllItems();

Grüße
Vincent
 
dankeschön. Wie kann ich die ComboBox jetzt als Eigenschaft darstellen? Und wie kann ich auf die einzelnen Zeilen A B C D und so weiter zugreifen, um ihnen eine Methode zuzuweisen die bei der Auswahl der einzelnen Zeilen durchgeführt werden sollen?
 
Du könntest der JComboBox einen ActionListener hinzufügen. Immer wenn der Ausschlägt, fragst du dann das aktuell gewälte Objekt ab. Anschließend im Listener Abfragen welches Objekt gewählt wurde und deine Ensprechende Methode aufrufen.
Klar soweit ? ^^ ...
 
hmm...um ehrlich zu sein,nein :) also den actionListener hab ich implementiert aber wie muss ich jetzt weitermachen :(
 
Jetzt fügst du deiner JComboBox den actionListener mit addActionListener(deinListener) hinzu.

Was für Daten stehen in der ComboBox? Zahlen? Texte?
 
texte stehen drin


ich zeig dir mal was ich bis jez hab :)


import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Definition1 extends JFrame implements ActionListener {
private JLabel l;
private JComboBox[] ;
private JButton bu1;
private JTextField tf;


public Definition1(String t) {
Haup(t);
this.setLayout(new BorderLayout());
l = new JLabel("Wert"); this.add(l,BorderLayout.WEST);
tf = new JTextField(10);
String []cb = new String[]{"Wurzel","Quadrat"};
bu1 = new JButton("ok");

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.show();
bu1.setActionCommand("A");
cb.getSource();
}
public double Wurzel(double x){
double w = Math.sqrt(x);
return w;
}
public double Quadrat(double y){
double q = Math.pow(y,2);
return q;
}
public double Kon(String z){
double k = parseDouble(z);
return k;
}

public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("A")){
if(e.getActionCommand().equals("Wurzel")){

JOptionPane.showMassageDialog(this, "die wurzel aus"+tf.getText()+"ist"+Wurzel(tf.getText()));}
else if(e.getActionCommand().equals("Quadrat")){
JOptionPane.showMassageDialog(this, "das Quadrat aus " +tf.getText()+"ist"+Quadrat(tf.getText()));
this.dispose();
}

}
}


}

und die haup klasse dazu .......


public class Haup {


public static void main(String[] args) {
Defintion1 d = new Definition1("Nr 1 ");

}
}
 
1. Text, ok

2. Ich schau mir keinen Code ohne Tags mehr an

In deiner ActionPerformed - Methode:
Java:
String strTemp = deineComboBox.getSelectedItem().toString;

if(strTemp.equals("blabla"){
  methodeBlaBla();
}
else if( ....
Ist natürlich eleganter mit einem Switch - Case.
 

Neue Beiträge

Zurück