JComboBox - Items einfügen und anzeigen

Status
Nicht offen für weitere Antworten.
J

JComboBox

Gast
Hallo

Wie kann ich die Werte von dieser Klasse

Code:
class Schueler {
  String[] schuelerx = {"Roffel", "lol", "genau"};
}

in diese JComboBox laden?

Code:
public class Notendurchschnitt extends JPanel implements ActionListener
{
  private JComboBox schuelerauswahl;
  private String[] schuelerindex;

  private JFrame owner;
  
  public static void main(String[] args)
  {

    
    JFrame frame = new JFrame("Dialog-Test");
    frame.getContentPane().add(new Notendurchschnitt(frame));
    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

    frame.addWindowListener
    (
     new WindowAdapter()
      {
        public void windowClosing(WindowEvent event)
        {
          System.exit(0);
        }
      }
    );
    frame.pack();
    frame.setSize(500,500);
    frame.setVisible(true);
  }

  public Notendurchschnitt(JFrame owner)
  {
    setBackground(Color.lightGray);
    setLayout(null);
    
    this.owner = owner;

    schuelerauswahl = new JComboBox();
    schuelerauswahl.addActionListener(this);
    schuelerauswahl.setSelectedIndex(0);
    schuelerauswahl.setBounds(200,300,200,20);
    add(schuelerauswahl);

   }

  
}
 
G

Gast

Gast
Code:
class Schueler {
  private String[] schuelerx = {"Roffel", "lol", "genau"};
}

so?

aber wie sieht die get Methode aus in der anderen Klasse?
 

mic_checker

Top Contributor
Ne normale get Methode halt ;)

Code:
public String[] getSchueler() {
return schuelerx;
}
 
G

Gast

Gast
hm das geht nicht :(

woher weiss diese methode, dass sie auf die Klasse Schueler zugreifen soll?

es findet die variable schuelerx nicht.

"cannot resolve symbol"
"symbol: variable schuelerx"
 

mic_checker

Top Contributor
Die Methode steht in der Klasse Schueler, da kennt es auch das Array. Oder hast du die Methode in die andere Klasse geschrieben?
 
G

Gast

Gast
wie kann ich jetzt die werte auslesen? sprich in die JComboBox wie oben erwähnt, einfügen?

:bahnhof:
 

L-ectron-X

Gesperrter Benutzer
Ein Beispiel:
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Notendurchschnitt extends JFrame
{
  private JComboBox schuelerauswahl;
  private String[] schueler = {"Petra", "Achim", "Klausi", "Susi"};

  public Notendurchschnitt(String title) {
    super(title);
    setLayout(new FlowLayout());
    schuelerauswahl = new JComboBox(schueler);
    schuelerauswahl.addItemListener(new MyItemListener());
    getContentPane().add(new JLabel("Schülerauswahl"));
    getContentPane().add(schuelerauswahl);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(400,300);
    setLocationRelativeTo(null);
  }

  class MyItemListener implements ItemListener {
    public void itemStateChanged(ItemEvent e) {
       if(e.getStateChange() == e.SELECTED) {
          JOptionPane.showMessageDialog(Notendurchschnitt.this, "Gewählter Schüler ist "+schueler[schuelerauswahl.getSelectedIndex()]+"!");
       }
    }
  }
  
  public static void main(String[] args){
    new Notendurchschnitt("Notendurchschnitt").setVisible(true);
  }
}
 

mic_checker

Top Contributor
oder wenn du es mit der andern klasse gemacht haben wolltest ,einfach die get Methode aufrufen und das zurückgegebene Array dem Konstruktor übergeben...
 

L-ectron-X

Gesperrter Benutzer
Dann kann das so aussehen. Vorteil dabei, GUI und Daten sind voneinander getrennt.
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Notendurchschnitt extends JFrame
{
  private JComboBox schuelerauswahl;
  private Schueler schueler;

  public Notendurchschnitt(String title) {
    super(title);
    setLayout(new FlowLayout());
    schueler = new Schueler();
    schuelerauswahl = new JComboBox(schueler.getNamen());
    schuelerauswahl.addItemListener(new MyItemListener());
    getContentPane().add(new JLabel("Schülerauswahl"));
    getContentPane().add(schuelerauswahl);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(400,300);
    setLocationRelativeTo(null);
  }

  class MyItemListener implements ItemListener {
    public void itemStateChanged(ItemEvent e) {
      if(e.getStateChange() == e.SELECTED) {
        JOptionPane.showMessageDialog(Notendurchschnitt.this,
          "Gewählter Schüler ist "+schueler.getNamen()[schuelerauswahl.getSelectedIndex()]+"!");
      }
    }
  }
  
  public static void main(String[] args){
    new Notendurchschnitt("Notendurchschnitt").setVisible(true);
  }
}
Code:
public class Schueler {
  String[] schueler = {"Petra", "Achim", "Klausi", "Susi"};

  public String[] getNamen() {
    return schueler;
  }
}
Wenn du zur Laufzeit Schüler hinzufügen oder löschen möchtest bietet es sich an, eine Collection, wie bspw. ArrayList oder Vector zu verwenden.
 
G

Gast

Gast
der code ist nicht ausführbar, ich verzweifle noch ;(
und noch eine dumme frage: wie kann ich 2 public klassen in einem programm ausführen? das geht bei ja nicht, weil das programm so heissen muss wie die public klasse.
 
G

Gast

Gast
wenn ich den code genau wie oben reinkopiere:

class Schueler is public, should be declared in a file named Schueler.java

wenn ich die "public class Schueler" in "class Schueler" umbenenne kommt:

java.lang.Error: Do not use Notendurchschnitt.setLayout() use Notendurchschnitt.getContentPane().setLayout() instead
at javax.swing.JFrame.createRootPaneException(JFrame.java:465)
at javax.swing.JFrame.setLayout(JFrame.java:531)
at Notendurchschnitt.<init>(Notendurchschnitt.java:12)
at Notendurchschnitt.main(Notendurchschnitt.java:33)
Exception in thread "main"
 

mic_checker

Top Contributor
Hast du die Datei denn auch in Schueler.java gespeichert?

Dann ersetz setLayout() durch getContentPane().setLayout() - mach also genau das was da steht.
 
G

Gast

Gast
ist es korrekt das ich nichts angezeigt bekomme? also kein interface?

es steht nur erfolgreich ausgeführt.
 
G

Gast

Gast
ah funktioniert jetzt

hier nochmal der ganze code, für solche die das gleiche prob haben ;)

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Notendurchschnitt extends JPanel implements ActionListener {
  private JComboBox bgauswahl;
  private String[] items = {"grau", "gelb", "grün"};
  private Color[] colors = {Color.lightGray, Color.yellow, Color.green};
  private JComboBox schuelerauswahl;
  private Schueler schueler;


  private JFrame owner;
  private JTextArea eingabe;
  private JTextArea ausgabe;

  int anz = 0;
  TextField[] tfeld = new TextField[10];

  public static void main(String[] args)
  {


    JFrame frame = new JFrame("Dialog-Test");
    frame.getContentPane().add(new Notendurchschnitt(frame));
    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

    frame.addWindowListener
    (
     new WindowAdapter()
      {
        public void windowClosing(WindowEvent event)
        {
          System.exit(0);
        }
      }
    );
    frame.pack();
    frame.setSize(500,500);
    frame.setVisible(true);

  }

  public Notendurchschnitt(JFrame owner)
  {
    setBackground(Color.lightGray);
    setLayout(null);

    this.owner = owner;

    eingabe = new JTextArea(20, 10);
    eingabe.setEditable(true);
    ausgabe = new JTextArea(30, 20);
    ausgabe.setEditable(false);

    //String sd = JOptionPane.showInputDialog(owner,"Geben Sie die Anzahl Noten ein","Eingabe",JOptionPane.QUESTION_MESSAGE);
    String sd = JOptionPane.showInputDialog("Geben Sie die Anzahl Noten ein (max 10)");
    //JOptionPane.showMessageDialog(owner,s,"Mitteilung",JOptionPane.INFORMATION_MESSAGE);


    Integer tempInt = new Integer(sd);
    anz = tempInt.intValue();

    for(int ix=0;ix<anz;ix++)
    {
     tfeld[ix] = new TextField("1", 10);
     tfeld[ix].addActionListener(this);
     tfeld[ix].setBounds(30,200+(ix*30),100,20);
     add(tfeld[ix]);
    }

    JLabel input = new JLabel ("Anzahl der Gäste auf der Party:", JLabel.LEFT);
    input.setBounds(30,50,100,20);
    add(input);
    eingabe.setBounds(140,50,50,20);
    add(eingabe);

    JLabel output1 = new JLabel ("Es erklingen ", JLabel.LEFT);
    output1.setBounds(30,100,100,20);
    add(output1);
    ausgabe.setBounds(140,100,50,20);
    add(ausgabe);

    JLabel output2 = new JLabel ("Gläser!", JLabel.LEFT);
    output2.setBounds(200,100,50,20);
    add(output2);

    JButton but_ausgabe = new JButton("Berechnen");
    but_ausgabe.addActionListener(this);
    but_ausgabe.setBounds(30,150,100,20);
    add(but_ausgabe);

    JButton but_Ende = new JButton("Ende");
    but_Ende.addActionListener(this);
    but_Ende.setBounds(200,200,100,20);
    add(but_Ende);

    bgauswahl = new JComboBox(items);
    bgauswahl.addActionListener(this);
    bgauswahl.setSelectedIndex(0);
    bgauswahl.setBounds(200,250,100,20);
    add(bgauswahl);

    schueler = new Schueler();
    schuelerauswahl = new JComboBox(schueler.getNamen());
    schuelerauswahl.addItemListener(new MyItemListener());
    schuelerauswahl.setBounds(200,270,100,20);
    add(new JLabel("Schülerauswahl"));
    add(schuelerauswahl);


   }

    class MyItemListener implements ItemListener {
    public void itemStateChanged(ItemEvent e) {
      if(e.getStateChange() == e.SELECTED) {
        JOptionPane.showMessageDialog(Notendurchschnitt.this,
          "Gewählter Schüler ist "+schueler.getNamen()[schuelerauswahl.getSelectedIndex()]+"!");
      }
    }
   }

  public void actionPerformed(ActionEvent event)
  {
      String tempString = new String();
      int gaeste;
      double kombinationen = 0;
      double[] res = new double[10];
      String cmd = event.getActionCommand();

      int intcolor = bgauswahl.getSelectedIndex();
      setBackground(colors[intcolor]);

      if (cmd.equals("Berechnen"))
      {
        for(int ex=0;ex<anz;ex++)
        {
        Double tempDouble = new Double(tfeld[ex].getText());

        res[ex] = tempDouble.doubleValue();
        kombinationen = res[ex] + kombinationen;

        }
        kombinationen = kombinationen / anz;
        ausgabe.setText(tempString.valueOf(kombinationen));
       }
      else if (cmd.equals("Ende"))
      {
        setVisible(false);
        System.exit(0);
      }
  }

}
 
G

Gast

Gast
klasse Schueler.java nicht vergessen

Code:
public class Schueler {
  String[] schueler = {"Petra", "Achim", "Klausi", "Susi"};

  public String[] getNamen() {
    return schueler;
  }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Items in JComboBox überprüfen Java Basics - Anfänger-Themen 3
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
J Selektiertes Element von jComboBox zwischenspeichern und wieder einsetzen Java Basics - Anfänger-Themen 0
C Erste Schritte JComboBox Einträge auf Duplikat prüfen Java Basics - Anfänger-Themen 4
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
M JComboBox ersten Eintrag leerlassen bzw. Platzhalter Java Basics - Anfänger-Themen 1
Tommy135 Klassen jComboBox macht nicht was sie soll Java Basics - Anfänger-Themen 4
S ArrayListe in einer JComboBox anzeigen Java Basics - Anfänger-Themen 10
H JComboBox wird nicht angezeigt Java Basics - Anfänger-Themen 3
M JComboBox feste double Werte zu ordnen Java Basics - Anfänger-Themen 8
T Einträge in jComboBox aus Liste übernehmen Java Basics - Anfänger-Themen 1
T Auslesen mehrerer jComboBox (-en) Java Basics - Anfänger-Themen 4
H JCombobox Java Basics - Anfänger-Themen 1
D JComboBox duplizieren Java Basics - Anfänger-Themen 2
T jComboBox Java Basics - Anfänger-Themen 9
GadgetSofa jComboBox mit dem Button verbinden. Aber wie?? Java Basics - Anfänger-Themen 4
A GUI Absturz nach 3x benutzen einer JComboBox Java Basics - Anfänger-Themen 11
S Erste Schritte JComboBox Java Basics - Anfänger-Themen 1
S JCombobox und JButton verknüpfen Java Basics - Anfänger-Themen 6
S JComboBox automatisch füllen Java Basics - Anfänger-Themen 3
C JComboBox "Hilfstext" anzeigen Java Basics - Anfänger-Themen 11
T Datentypen Jcombobox Array Java Basics - Anfänger-Themen 1
J JComboBox in andere Klasse Java Basics - Anfänger-Themen 2
S Variablen auslesen beim JCombobox Java Basics - Anfänger-Themen 0
K JCombobox Eclipse Java Basics - Anfänger-Themen 7
D JComboBox erzeugen Java Basics - Anfänger-Themen 1
T JComboBox Java Basics - Anfänger-Themen 3
B ArrayLists in JCombobox Java Basics - Anfänger-Themen 10
M JComboBox und ItemListener/ItemEvent Problem Java Basics - Anfänger-Themen 3
M JComboBox Auswahl Java Basics - Anfänger-Themen 10
N Compiler-Fehler JComboBox DefaultListCellRenderer Java Basics - Anfänger-Themen 2
J JComboBox - Auswahl auslesen Java Basics - Anfänger-Themen 2
J jcombobox.getSelectedItem - nullpointerexception Java Basics - Anfänger-Themen 3
C JComboBox setSelectedItem(Object) Problem Java Basics - Anfänger-Themen 5
M JComboBox Obergrenzen/Untergrenze festlegen? Java Basics - Anfänger-Themen 5
B JComboBox(editable) Java Basics - Anfänger-Themen 6
K JComboBox hat volle Höhe uber das gesamte JPane, warum? Java Basics - Anfänger-Themen 2
S JComboBox mit ArrayList füllen Java Basics - Anfänger-Themen 7
C Ausgewähltes Element einer JCombobox in JTextField Java Basics - Anfänger-Themen 3
S JComboBox füllen Java Basics - Anfänger-Themen 9
C JComboBox Java Basics - Anfänger-Themen 9
R Auf auswahl in ner JComboBox reagieren Java Basics - Anfänger-Themen 3
T Frage zu JComboBox Java Basics - Anfänger-Themen 6
G JComboBox wird nicht gezeichnet Java Basics - Anfänger-Themen 3
N JComboBox mit Dateinamen befüllen Java Basics - Anfänger-Themen 7
M JComboBox => Item String => Color Java Basics - Anfänger-Themen 2
StrikeTom Editable JComboBox + enter Wie??? Java Basics - Anfänger-Themen 3
J JComboBox Listener Java Basics - Anfänger-Themen 6
F Werte aus JComboBox auslesen und Zahlen zuordnen Java Basics - Anfänger-Themen 5
S JComboBox Platzhalter Java Basics - Anfänger-Themen 7
J jComboBox auf default setzen wie? Java Basics - Anfänger-Themen 3
J daten über jComboBox ausgeben wie? Java Basics - Anfänger-Themen 2
S Vector -> String JComboBox Java Basics - Anfänger-Themen 11
E JComboBox Java Basics - Anfänger-Themen 4
J jComboBox.getSelectedIndex() Java Basics - Anfänger-Themen 8
J Funktion Auslösen über JComboBox Java Basics - Anfänger-Themen 2
T JComboBox klappt nur ein- bis zweimal auf Java Basics - Anfänger-Themen 30
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
Developer_X JComboBox getSelectedFilè??? Java Basics - Anfänger-Themen 4
T Daten eines Ordners in JCombobox anzeigen Java Basics - Anfänger-Themen 5
M Einträge in JComboBox farblich hinterlegen? Java Basics - Anfänger-Themen 2
6 Dritte JComboBox in Abhaengigkeit von zwei vorherigen Java Basics - Anfänger-Themen 4
G 2. JComboBox in Abhängigkeit der 1. JCombobox füllen Java Basics - Anfänger-Themen 2
S Problem mit JComboBox Java Basics - Anfänger-Themen 9
H jcombobox mit nur einem Item Java Basics - Anfänger-Themen 7
G Inhalt einer JComboBox wechseln Java Basics - Anfänger-Themen 5
G Problem mit JComboBox Java Basics - Anfänger-Themen 15
G JComboBox Strukturiert anzeigen Java Basics - Anfänger-Themen 6
Schandro Hotkeys bei JComboBox abschalten Java Basics - Anfänger-Themen 3
G JComboBox soll beim Öffnen eine andere JCB öffnen Java Basics - Anfänger-Themen 2
P Hilfe für JComboBox, bmp einbinden/bestimmte punkte auf bmp Java Basics - Anfänger-Themen 3
G JComboBox - BasicComboPopup Java Basics - Anfänger-Themen 4
S Inhalt der JComboBox vergrößtert die JCB ? Java Basics - Anfänger-Themen 2
B Werte aus einer JCombobox in eine Liste Java Basics - Anfänger-Themen 16
mwildam JComboBox FocusGained feuert nicht wenn editable Java Basics - Anfänger-Themen 4
F ComboBox im Vektor auslesen, Vektor<JComboBox> Java Basics - Anfänger-Themen 6
S Jcombobox und 2maliges anzeigen wegen ItemStateChanged? Java Basics - Anfänger-Themen 3
W setModel feuert ActionEvent bei JComboBox Java Basics - Anfänger-Themen 2
G Frage zu JComboBox Java Basics - Anfänger-Themen 2
W Actionlistener oder Itemlistener bei JCombobox ? Java Basics - Anfänger-Themen 4
G JComboBox Java Basics - Anfänger-Themen 7
G JComboBox macht Probleme Java Basics - Anfänger-Themen 7
G JComboBox alphabetisch sortieren Java Basics - Anfänger-Themen 2
D Locale zur Laufzeit über JComboBox laden? Java Basics - Anfänger-Themen 17
G JComboBox um eine Methode erweitern Java Basics - Anfänger-Themen 2
G jcombobox deaktivieren Java Basics - Anfänger-Themen 4
M Werte aus Jcombobox sollten als int-Werte zurück gegeben . Java Basics - Anfänger-Themen 7
G JComboBox zweckentfremden ? Java Basics - Anfänger-Themen 5
N JCombobox Pfeil nach unten bild auf linke seite, geht das? Java Basics - Anfänger-Themen 8
T JComboBox Problem Java Basics - Anfänger-Themen 4
D JComboBox titel Java Basics - Anfänger-Themen 16
M füllen JComboBox funktioniert nicht Java Basics - Anfänger-Themen 11
J JCombobox Item auswählen Java Basics - Anfänger-Themen 13
A Text einer JComboBox während der Laufzeit ändern ? Java Basics - Anfänger-Themen 4
dercheffe 3x jcombobox nacheinander füllen Java Basics - Anfänger-Themen 6
J Inhalt der JComboBox variable Java Basics - Anfänger-Themen 2
O JComboBox Item soll sich als String speichern Java Basics - Anfänger-Themen 5
D JComboBox ohne ItemListener Java Basics - Anfänger-Themen 18
B unvollständige Anzeige von JComboBox Werten Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben