automatische Auswahl einer JComboBox

nieselfriem

Bekanntes Mitglied
Hallo!

Ich habe eine JComboBox die durch eine Auswahl bei einer anderen JComboBox mit Daten befüllt wird. Nun soll, wenn der Nutzer nichts anderes anklickt, der erste Eintrag als selektiert werden, so dass der Wert bei einem z.B. Speicherbutton übernommen wird. Momentan muss ich noch den Eintrag mit der Maus erst anklicken um diesen Wert in einer Variable zu speichern.

Danke!
 

GUI-Programmer

Top Contributor
@nieselfriem
so dass der Wert bei einem z.B. Speicherbutton übernommen wird.
Ich weiß ja nicht genau, was du damit gemeint hast, aber falls du möchtest, dass das selbe geschieht, wie wenn der Benutzer bei der Combobox das 1. Item auswählt (um irgende Variable, womöglich String nen Wert zu geben, der dann bei einem Klick auf den Speicherbutton wo abgespeichert wird), dann folgendes:
Java:
public class Test implements ItemListener {
	protected String item[];
	protected JComboBox cmbobx;
	
	public Test() {
		item = new String[] {"Item 1", "Item 2", "Item 3"};
		
		cmbobx = new JComboBox();
		cmbobx.setModel(new DefaultComboBoxModel(item));
		cmbobx.addItemListener(this);
	}
	@Override
	public void itemStateChanged(ItemEvent evt) {
		if(evt.getSource().equals(cmbobx)) {
			if(evt.getItem().equals(item[0])) {
				doAction(0);
			}
			if(evt.getItem().equals(item[1])) {
				doAction(1);
			}
			if(evt.getItem().equals(item[2])) {
				doAction(2);
			}
			/*
			 * ODER in einer for-Schleife:
			 */
			for(int i=0; i<item.length; i++) {
				if(evt.getItem().equals(item[i])) {
					doAction(i);
				}
			}
		}
	}
	
	protected void doAction(int item) {
		switch(item) {
			case 0 : /*Aktion des 1. Items: Speichere was*/ break;
			case 1 : /*Aktion des 2. Items: Speichere was*/ break;
			case 2 : /*Aktion des 3. Items: Speichere was*/ break;
		}
	}
}

Wenn der Benutzer nichts anderes anklickt:
Java:
//...
cmbobx.setSelectedIndex(0);
doAction(0);
//...

Ich hoffe ich habe dich so richtig verstanden! :)
 

nieselfriem

Bekanntes Mitglied
nicht ganz.

Um Es zu erklären. Es geht um Arbeitgeber. Fast jeder dieser Arbeitgeber hat einen Ansprechpartner. Wenn nun in einer JCombobox ein Arbeitgeber ausgewählt wird, so erscheint die jComboBox der Ansprechpartner von diesem entsprechenen Arbeitgeber. Ist nur ein Ansprechpartner vorhanden oder keine Auswahl vom Nutzer gemacht worden, so soll der erste oder der einzige zwangsläufig als ausgewählt gelten. Momentan muss jedoch noch einmal mit der Maus auf die auswahl geklickt werden, obwohl schon der Ansprechpartner in der Liste zu sehen ist.

Gruß
 

L-ectron-X

Gesperrter Benutzer
Dann vielleicht, indem du das Model fragst:
Java:
DefaultComboBoxModel model = (DefaultComboBoxModel)comboBox.getModel();
Object obj = model.getSelectedItem();

Diese Stelle
GUI-Programmer hat gesagt.:
[JAVA=8] cmbobx = new JComboBox();
cmbobx.setModel(new DefaultComboBoxModel(item));[/code]
lässt sich auch abkürzen:
[JAVA=8] cmbobx = new JComboBox(item);[/code]
 

nieselfriem

Bekanntes Mitglied
Das wird nicht ganz Klappen. In der ComboBox werden Elemente von einem Datentyp gespeichert und mit einem Renderer so dargestellt, dass als Sicht der Name zu sehene ist und als Rückgabe der Entsprechende Wert bzw Id
Der Datentyp in der JComboBox
Java:
public class AnsprPSchnDlg {
    private String ansprechpartner;
    private String anrede;
    private int id;

    public String getAnrede() {
        return anrede;
    }

    public void setAnrede(String anrede) {
        this.anrede = anrede;
    }

    public AnsprPSchnDlg(String ansprechpartner, int id) {
        this.ansprechpartner = ansprechpartner;
        this.id = id;
    }

    public AnsprPSchnDlg() {
    }
    /**
     * Diese Methode liefert den String fuer die sichbare Ausgabe in der Combobox in der Schnellauswahl 
     * des Ansprechpartners in einem Aenderungsdialog in der GUI
     */    

    @Override
    public String toString() {
        if(this.ansprechpartner.length() > 0 ) {
            return this.anrede+" "+this.ansprechpartner;
        }else {
            return "";
        }
     }

    public String getAnsprechpartner() {
        return this.ansprechpartner;
    }
    public void setAnsprechpartner(String ansprechpartner) {
        this.ansprechpartner = ansprechpartner;
    }

    public int getId() {
        return this.id;
    }

    public void setId(int id) {
        this.id = id;
    }
}

der Renderer:
Java:
import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.basic.*;
import empathie.PersonUndJob.AGSchnDlg;

public class AgCbxDlgRndr extends BasicComboBoxRenderer {

    @Override
    public Component getListCellRendererComponent(
            JList list, Object value, int index,
            boolean isSelected, boolean cellHasFocus) {
        super.getListCellRendererComponent(list, value, index,
                isSelected, cellHasFocus);

        // if (value != null)
        if (index == -1) {
           

            AGSchnDlg item = (AGSchnDlg) value;
            setText(item.toString());
        }
        if (value != null) //if (index == -1)
        {

            AGSchnDlg item = (AGSchnDlg) value;
            setText("" + item.toString());
        }
        return this;
    }
}

Grüße
 

L-ectron-X

Gesperrter Benutzer
Die Frage ist doch eigentlich, was das Model der ComboBox zurückgibt.
Die Variante, die ich oben benutzt habe funktioniert so, wie du es haben möchtest.
Du musst das Model fragen, wo die Selektion steht.
 

nieselfriem

Bekanntes Mitglied
Ok, ich habs:

Java:
            DefaultComboBoxModel model = (DefaultComboBoxModel)jAnsprechDlgCbBx.getModel();
            Object obj = model.getSelectedItem();
            AnsprPSchnDlg ansp = (AnsprPSchnDlg) obj;
            ansp.getId()//Id

Danke an alle!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H automatische Anzahl der Spalten ermitteln -> geht nicht AWT, Swing, JavaFX & SWT 6
J Swing Pane im SplitPane automatische Größe aktivieren AWT, Swing, JavaFX & SWT 0
S java.fxml.load.exception und keine automatische Aktualliseriung der Mainausgabe AWT, Swing, JavaFX & SWT 5
I JAVAFX - CSS - automatische Property- und Methoden-Vorlagen in Eclipse AWT, Swing, JavaFX & SWT 17
Neumi5694 Swing Gridbaglayout - automatische Anpassung verhindern AWT, Swing, JavaFX & SWT 1
F Textfeld Währungszahlen und automatische Aktualisierung AWT, Swing, JavaFX & SWT 14
S Swing Warum funktioniert der automatische Zeilenumbruch mit arabischen Zeichen beim JTextPane nicht AWT, Swing, JavaFX & SWT 3
J ungewollt-automatische Größenänderung von JLabel AWT, Swing, JavaFX & SWT 5
S automatische Zeilenhöhen Anpassung bei JTable AWT, Swing, JavaFX & SWT 2
A Automatische anpassung im NullLayout AWT, Swing, JavaFX & SWT 10
N JEditorPane und automatische Scrollposition AWT, Swing, JavaFX & SWT 2
B Automatische Größenanpassung AWT, Swing, JavaFX & SWT 7
K Automatische Skalierung von GUI Elementen (Java Swing) AWT, Swing, JavaFX & SWT 2
C Automatische Screenshots + Analyse des Bildes AWT, Swing, JavaFX & SWT 5
L Layout automatische Anpassung umgehen? AWT, Swing, JavaFX & SWT 5
aze GridLayout: Keine automatische Ausdehnung AWT, Swing, JavaFX & SWT 2
A AWT Automatische Weiterleitung? AWT, Swing, JavaFX & SWT 13
M Automatische Anpassung eines JPanels in einem JFrame AWT, Swing, JavaFX & SWT 6
L JTable automatische Spaltenbreite AWT, Swing, JavaFX & SWT 2
G JPanel automatische Größ AWT, Swing, JavaFX & SWT 4
C JSplitPane automatische Veränderung verbieten. AWT, Swing, JavaFX & SWT 3
T Automatische Grössenanpassung JPanel / JScrollpane AWT, Swing, JavaFX & SWT 3
G GridBagLayout - automatische Größenanpassung AWT, Swing, JavaFX & SWT 3
L jTextField mit automatische Suchfunktion? AWT, Swing, JavaFX & SWT 2
A Automatische Scrollbalken bei einem JFrame AWT, Swing, JavaFX & SWT 8
K Textarea aktuallisiert sich nicht, nach Auswahl (Itemlistener) AWT, Swing, JavaFX & SWT 3
R Auswahl mehrerer JComboBoxen verknüpfne AWT, Swing, JavaFX & SWT 17
P JavaFX aktuelle Tabellenzeile bei Choice-Box-Auswahl in Zelle ermitteln AWT, Swing, JavaFX & SWT 28
B Mit der ChoiceBox-Auswahl Textfelder hinzufügen AWT, Swing, JavaFX & SWT 18
S n aus m - Auswahl AWT, Swing, JavaFX & SWT 2
M Swing JList Auswahl-GUI-Konzept AWT, Swing, JavaFX & SWT 9
C JavaFX Inhalt eines SplitPane's durch Menü-Auswahl ändern? AWT, Swing, JavaFX & SWT 13
M Auswahl aus einer ListView AWT, Swing, JavaFX & SWT 3
F JavaFX ChoiceBox Name als Auswahl bei einer Objektliste AWT, Swing, JavaFX & SWT 4
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
M Combo Box auswahl in eine Datenbank speichern AWT, Swing, JavaFX & SWT 1
M JavaFX Combobox - Item Auswahl mit Tasten AWT, Swing, JavaFX & SWT 8
S JComboBox nach auswahl erneuern AWT, Swing, JavaFX & SWT 4
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
T Importer-Auswahl im JFileChooser AWT, Swing, JavaFX & SWT 3
J AWT choice mit viel Auswahl aktualisiert sich nicht korrekt beim scrollen?! AWT, Swing, JavaFX & SWT 3
I Anhand ButtonGroup eine Auswahl treffen AWT, Swing, JavaFX & SWT 2
P Listener Auswahl Tabelle AWT, Swing, JavaFX & SWT 6
M JComboBox Item-Auswahl in JTable AWT, Swing, JavaFX & SWT 2
M SWT Wie mehr als 5000 Einträge zur Auswahl geben? AWT, Swing, JavaFX & SWT 9
G JComboBox mit CellRenderer (Auswahl) AWT, Swing, JavaFX & SWT 11
E JTree Auswahl AWT, Swing, JavaFX & SWT 2
P Swing Auswahl einer JComboBox für eine andere JComboBox übernehmen AWT, Swing, JavaFX & SWT 4
R JPanel wird erst neu gezeichnet nach erneuter auswahl AWT, Swing, JavaFX & SWT 8
F Swing Auf JComboBox-Event erst NACH Auswahl reagieren AWT, Swing, JavaFX & SWT 8
T Auswahl in GUI-Builder mit Grafiken ausstatten AWT, Swing, JavaFX & SWT 4
M Swing jList Auswahl löschen AWT, Swing, JavaFX & SWT 2
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
U JComboBox: (Vor)auswahl nach Aktualisierung AWT, Swing, JavaFX & SWT 2
Semox Swing JMenuItem-Auswahl mit Aktion ausführen AWT, Swing, JavaFX & SWT 4
C Welche Farbe hat die Auswahl in einer JTable? AWT, Swing, JavaFX & SWT 2
M SWT Wie Textfeld hinzufügen, nach Auswahl von einem bestimmten Combobox-item? AWT, Swing, JavaFX & SWT 3
S Swing JTable Auswahl mehrerer Zellen mit STRG+Maus AWT, Swing, JavaFX & SWT 3
P verschiedene JPanels einblenden je nach auswahl AWT, Swing, JavaFX & SWT 2
P Speichern und Auswahl gezeichneter Objekte AWT, Swing, JavaFX & SWT 7
K Auswahl einer ButtonGroup erfahren AWT, Swing, JavaFX & SWT 3
G JTextfield Inhalt markieren bei Auswahl AWT, Swing, JavaFX & SWT 2
H Auswahl in JComboBox abbrechen AWT, Swing, JavaFX & SWT 5
K Choice auswahl und String in Int AWT, Swing, JavaFX & SWT 8
DEvent Standard Font-Auswahl-Dialog? AWT, Swing, JavaFX & SWT 15
DEvent Je nach Auswahl in Liste entsprechende Input-Elemente anzeig AWT, Swing, JavaFX & SWT 2
B Relative Pfadangaben beibehalten bei Auswahl in Dialog AWT, Swing, JavaFX & SWT 2
E JComboBox auswahl einschraenken AWT, Swing, JavaFX & SWT 5
G Screen nach Auswahl schließen und neuen öffnen?wie mach ichs AWT, Swing, JavaFX & SWT 8
M JTable mit JCombobox eigene Auswahl pro Zeile ? AWT, Swing, JavaFX & SWT 3
M Farb/bild auswahl AWT, Swing, JavaFX & SWT 15
C Aktion nach Auswahl einer Checkbox AWT, Swing, JavaFX & SWT 6
R Verzeichnis-Auswahl mit FileDialog ? AWT, Swing, JavaFX & SWT 3
G JComboBox nimmt Auswahl nicht an AWT, Swing, JavaFX & SWT 5
N JList: Auswahl erzwingen AWT, Swing, JavaFX & SWT 6
H Doppelte Auswahl bei ItemEvent für eine Dropdownliste AWT, Swing, JavaFX & SWT 5
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben