ComboBox aktualisieren

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi ich habe auch mal nen Problem mit dieser dämlichen ComboBox!!!

Ich habe zwei ComboBoxen! Wenn ich in einer etwas auswähle soll sich die andere dem entsprechend ändern!
er ändert auch die Items in der zweiten ComboBox aber er zeigt es mir nicht an!
Wie kann ich diese ComboBox refreshen???

hier mal der Code:
Code:
ArrayList<String> itemList = new ArrayList<String>();
		DefaultComboBoxModel model = null;
		if (cobGenre.getSelectedIndex() == 1) {
			itemList.clear();
			itemList.add("XVID");
			itemList.add("DVD 5");
			itemList.add("DVD 9");
			itemList.add("HDTV 720");
			itemList.add("HDTV 1080");
			itemList.add("HD2DVD");
			model = new DefaultComboBoxModel(itemList.toArray());
			cobMedium = new JComboBox(model);
			System.out.println(cobMedium.getItemCount()); // hier gibt er mir die richtige anzahl aus
		}

das ist die zweite Box, wo erst noch mehr drin steht! das löscht er auch und schreibt diese sechs rein, aber man kann es nicht sehen!

bitte um hilfe

danke schonmal im voraus!

mfg
Freaky
 
S

SlaterB

Gast
du erstellst eine neue JComboBox, in der GUI ist aber die alte eingefügt,

nur weil du deiner Variablen einen neuen Wert zuweist wird nicht durch Zauberhand in der GUI was gewechselt,
behalte also lieber die alte JComboBox bei und setzte bei dieser das neue Model ein
 

Freaky

Mitglied
sorry mein fehler hatte ich noch als probe drin!
eigentlich steht da
Code:
model = new DefaultComboBoxModel(itemList.toArray());
			cobMedium.setModel(model);
 
S

SlaterB

Gast
dann poste als nächstes bitte ein vollständiges Programm mit main, JFrame, dieser JComboBox und einem Button um die Werte neu zu setzen
(oder jemand anders weiß es vorher so, will dir keine Arbeit aufzwingen, aber bevor ich es selber machen muss.. ;) )
 

Freaky

Mitglied
ok wird aber etwas länger!

Code:
public GUI() throws IOException
	{
		super();
		initialize();
	}

	private void initialize() {
		this.setSize(new Dimension(800, 600));
		this.setResizable(false);
        this.setContentPane(getLayoutPanel());
        this.setTitle("Upload Konfigurator created by Freaky");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		this.setLocation((d.width - this.getSize().width) / 2, (d.height - this.getSize().height) / 2);
		this.setVisible(true);		
	}

private JPanel getLayoutPanel() {
     layoutPanel.add(getCobGenre(), gridBagConstraints5);
     layoutPanel.add(getCobMedium(), gridBagConstraints20);
     
     return layoutPanel;
}

	private JComboBox getCobGenre() {
		if (cobGenre == null) {
			cobGenre = new JComboBox("Section,Movie,Serien,Music,Games,Adult,Apps,Other".split(","));
			cobGenre.setSelectedIndex(0);
			
			cobGenre.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {					
					if (cobGenre.getSelectedIndex() == 1) {
						getCobMedium(); // datensatz in andere Combobox soll geändert werden
						if (msDialog != null && selectedIndex != 2) {
							tmp = "";
							msDialog.setVisible(true);
						}
						else {
							msDialog = new MovieSerienDialog("Section: Movie");
							msDialog.setVisible(true);
						}
						selectedIndex = 1;
					}
					
					if (cobGenre.getSelectedIndex() == 2) {
						getCobMedium();
						if (msDialog != null && selectedIndex != 1) {
							tmp = "";
							msDialog.setVisible(true);
						}
						else {
							msDialog = new MovieSerienDialog("Section: Serien");
							msDialog.setVisible(true);
						}
						selectedIndex = 2;
					}
					if (cobGenre.getSelectedIndex() == 3) {
						getCobMedium();
						if (mDialog != null) {
							tmp = "";
							mDialog.setVisible(true);
						}
						else {
							mDialog = new MusicDialog();
							mDialog.setVisible(true);
						}
						selectedIndex = 3;
					}
					if (cobGenre.getSelectedIndex() == 4) {
						getCobMedium();
						if (gDialog != null) {
							tmp = "";
							gDialog.setVisible(true);
						}
						else {
							gDialog = new GameDialog();
							gDialog.setVisible(true);
						}
						selectedIndex = 4;
					}
					if (cobGenre.getSelectedIndex() == 5) {
						getCobMedium();
						if (adDialog != null) {
							tmp = "";
							adDialog.setVisible(true);
						}
						else {
							adDialog = new AdultDialog();
							adDialog.setVisible(true);
						}
						selectedIndex = 5;
					}
					if (cobGenre.getSelectedIndex() == 6) {
						getCobMedium();
						if (apDialog != null) {
							tmp = "";
							apDialog.setVisible(true);
						}
						else {
							apDialog = new AppsDialog();
							apDialog.setVisible(true);
						}
						selectedIndex = 6;
					}
					if (cobGenre.getSelectedIndex() == 7) {
						getCobMedium();
					    selectedIndex = 7;
					}
					genreStringfromArrayList();
					getLblGenre();
				}
			});
		}
		return cobGenre;
	}

private JComboBox getCobMedium() {
		cobMedium = new JComboBox("Medium,XVID,DVD 5,DVD 9,HDTV 720,HDTV 1080,Serien,Audio,Games,PC,PS 2,PSP,Adult,AdultHD,Apps,Other".split(","));
		DefaultComboBoxModel model = null;
		if (cobGenre.getSelectedIndex() == 1) {
			String[] myItems = {"XVID","DVD 5","DVD 9","HDTV 720","HDTV 1080","HD2DVD"};
			model = new DefaultComboBoxModel(myItems);
			cobMedium.setModel(model);
			System.out.println(cobMedium.getItemCount());
		}
		if (cobGenre.getSelectedIndex() == 2) {
			String[] myItems = {"Serien","XVID","DVD 5","DVD 9","HDTV 720"};
			model = new DefaultComboBoxModel(myItems);
			cobMedium.setModel(model);
		}
		if (cobGenre.getSelectedIndex() == 3) {
			String[] myItems = {"Audio"};
			model = new DefaultComboBoxModel(myItems);
			cobMedium.setModel(model);
		}
		if (cobGenre.getSelectedIndex() == 4) {
			String[] myItems = {"Games","PC","PS 2","PSP"};
			model = new DefaultComboBoxModel(myItems);
			cobMedium.setModel(model);
		}
		if (cobGenre.getSelectedIndex() == 5) {
			String[] myItems = {"Adult","Adult HD"};
			model = new DefaultComboBoxModel(myItems);
			cobMedium.setModel(model);
		}
		if (cobGenre.getSelectedIndex() == 6) {
			String[] myItems = {"Apps"};
			model = new DefaultComboBoxModel(myItems);
			cobMedium.setModel(model);
		}
		if (cobGenre.getSelectedIndex() == 7) {
			String[] myItems = {"Other"};
			model = new DefaultComboBoxModel(myItems);
			cobMedium.setModel(model);
		}
		
		return cobMedium;
	}

so ist zwar nen bissel lang und nicht kommentiert! is aber leider so!
 
S

SlaterB

Gast
??

wozu ist ein Kopf wenn nicht zum Denken?
du hast da eine Zeile wie
> this.setLocation((d.width - this.getSize().width) / 2, (d.height - this.getSize().height) / 2);
die garantiert nix mit dem Problem zu tun hat,
du kopierst sie rüber, siehst sie, überlegst ob sie drin bleibt oder raus kann
und läßt sie drin?? oder überlegst gar nicht?
sich 2 Min. Zeit nehmen und aus 160 Zeilen Unfall werden 50 Zeilen gutes Testprogramm,
soviel Aufwand solltest du schon in deine Frage stecken

insbesondere die doppelte Unterscheidung nach Selekted-Index 1-7 muss komplett raus,

da dein Code weder eine Klasse noch eine main-Operation enthält, ist er leider in jedem Fall kein fertiges Testprogramm
 
S

SlaterB

Gast
aber nur Meckern ist ja auch nicht gesund,
so gehts:
Code:
public class TestGUI extends JFrame {

	private JComboBox box = new JComboBox();

	public TestGUI() {

		JButton b = new JButton("Test");
		b.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				double d = Math.random();
				List l = new ArrayList();
				l.add("" + d);
				DefaultComboBoxModel m = new DefaultComboBoxModel(l.toArray());
				box.setModel(m);
			}
		});
		add(box, BorderLayout.NORTH);
		add(b, BorderLayout.CENTER);

		setSize(400, 300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);

	}

	public static void main(String[] args) {
		new TestGUI();
	}
}
 

Freaky

Mitglied
sorry hab jetzt erst kappiert, das du nen komplettes test prgramm haben wolttest!! mach ich schnell fertig!!
 
S

SlaterB

Gast
siehe auch mein Posting zwischendurch,

dein setModel-Aufruf bringt wenig, wenn du am Anfang der Operation immer noch
> cobMedium = new JComboBox("Medium,XVI, ..
stehen hast, siehe erste Antwort
 

Freaky

Mitglied
dort wird sie aber erst erstellt! wie du in meinem langen post lesen kannst!

außerdem steht beimir sschon etwas drin, was ich ändern möchte!
außerdem möchte ich von einer combobox in eine andere etwas verändern!
ist zwar das gleiche, aber es funzt nicht!

er gibt mir ja mit
Code:
System.out.println(cobMedium.getItemCount());

das richtige aus! aber ändert es halt nicht in der ansicht!
 

Freaky

Mitglied
und so erstelle ich am anfang meine comboBox
Code:
private JComboBox cobMedium = null;
 

Freaky

Mitglied
danke habe es jetzt so gemacht und es funzt!

Code:
DefaultComboBoxModel model = null;
		if (cobGenre.getSelectedIndex() == 0 && cobMedium == null) {
			cobMedium = new JComboBox();
			String[] myItems = {"Medium"};
			model = new DefaultComboBoxModel(myItems);
			cobMedium.setModel(model);
			System.out.println(cobMedium.getItemCount());
		}

also wenn es das erste Mal aufegrufen wird, dann erstellt er es und dann nicht mehr! habe auch ne null prüfung eingebaut!

danke nochmal!
 
S

SlaterB

Gast
ich kanns ja nochmal wiederholen, aber ich weiß nicht was dir das für neue Infos bringen soll:

wenn du die JComboBox in der GUI siehst, dann ist sie dort irgendwo schon eingefügt und vorher erzeugt,
dieses Objekt musst du verändern, dass heißt in aller erster Linie auf keinen Fall nochmal
> cobMedium = new JComboBox("Medium,XVID,DVD
auszuführen

jetzt kannst du noch lange diskutieren, es führt aber kein Weg dran vorbei

edit: na wenns geht, dann ist ja gut
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Combobox aktualisieren AWT, Swing, JavaFX & SWT 2
S Combobox aktualisieren AWT, Swing, JavaFX & SWT 3
C TextFeld in Verbindung zur ComboBox automatisch aktualisieren AWT, Swing, JavaFX & SWT 7
C Combobox bei Tabellenänderung mit aktualisieren AWT, Swing, JavaFX & SWT 11
W Element aus comboBox mit observableList löschen AWT, Swing, JavaFX & SWT 3
T Combobox mit Autocomplete-Funktion AWT, Swing, JavaFX & SWT 7
J Eingaben aus Textfield & ComboBox speichern und in ComboBox wieder ausgeben AWT, Swing, JavaFX & SWT 3
N Promt Text der Combobox AWT, Swing, JavaFX & SWT 0
Doppel JavaFX ComboBox AWT, Swing, JavaFX & SWT 5
P JavaFX ClassCastException bei ComboBox.getValue AWT, Swing, JavaFX & SWT 4
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
M Swing Java Swing/AWT Combobox Bug AWT, Swing, JavaFX & SWT 3
M Combobox bild anklicken AWT, Swing, JavaFX & SWT 2
L JavaFX Wiederspenstige ComboBox AWT, Swing, JavaFX & SWT 0
P Combobox und Enum AWT, Swing, JavaFX & SWT 3
L ComboBox Wert automatisch auswählen AWT, Swing, JavaFX & SWT 6
L Methode zum Füllen einer ComboBox AWT, Swing, JavaFX & SWT 4
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
K JavaFX Combobox, Textfield & setOnMouseClicked AWT, Swing, JavaFX & SWT 2
it_is_all Swing Button, ComboBox,... -- Unterschied: NetBeans Design <-> Ausführung AWT, Swing, JavaFX & SWT 2
D JavaFX ComboBox String setzen AWT, Swing, JavaFX & SWT 20
offi Combobox in TableCell AWT, Swing, JavaFX & SWT 1
D Javafx Combobox Abfrage aus mysql AWT, Swing, JavaFX & SWT 8
K Event Handling ComboBox Event Handler AWT, Swing, JavaFX & SWT 7
MrSnake ComboBox-Einträge werden unsichtbar AWT, Swing, JavaFX & SWT 0
L ComboBox: slider positionieren AWT, Swing, JavaFX & SWT 0
M JavaFX ComboBox: Update zur Laufzeit AWT, Swing, JavaFX & SWT 16
M JavaFX Combobox bindBidirectional AWT, Swing, JavaFX & SWT 4
D [Anfänger]ComboBox erstellt Einträge in einer anderen ComboBox AWT, Swing, JavaFX & SWT 3
T JavaFX Editable Combobox Text-Selektierung nach Trigger AWT, Swing, JavaFX & SWT 4
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
M JavaFX ComboBox AWT, Swing, JavaFX & SWT 5
T Problem: ComboBox und addItem AWT, Swing, JavaFX & SWT 5
J ComboBox als Filter benutzen AWT, Swing, JavaFX & SWT 1
M ausgewählte Inhalt von ListItem inn ComboBox in der Tabelle speichern AWT, Swing, JavaFX & SWT 0
Developer_X Java JTable - Combobox + Checkbox - Cellrenderer + Editor AWT, Swing, JavaFX & SWT 3
G Dynamische ComboBox AWT, Swing, JavaFX & SWT 3
U Combobox mit individuellen Texten AWT, Swing, JavaFX & SWT 5
M JavaFX Combobox - Item Auswahl mit Tasten AWT, Swing, JavaFX & SWT 8
F JavaFX Daten aus Tabelle in ComboBox AWT, Swing, JavaFX & SWT 9
C Beschriftungen von Tabellenspalten mit Combobox aussuchen AWT, Swing, JavaFX & SWT 2
G JavaFX ComboBox .getItems().add() Problem AWT, Swing, JavaFX & SWT 9
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
F SWT Problem mit Tabelle und Combobox in einem Wizard AWT, Swing, JavaFX & SWT 5
B JAVAFX icon in ComboBox einfügen AWT, Swing, JavaFX & SWT 5
W Swing Combobox Abhängigkeit AWT, Swing, JavaFX & SWT 1
S ComboBox-Werte aus einem Array an Textfields übergeben AWT, Swing, JavaFX & SWT 3
A Swing GUI mit ComboBox, wenn Item ausgewählt wurde neues GUI AWT, Swing, JavaFX & SWT 7
B Erstellen eigener Combobox ("CellFactory") AWT, Swing, JavaFX & SWT 4
C Swing ComboBox - ActionListener deaktivieren AWT, Swing, JavaFX & SWT 2
A combobox automatisch in ein textfeld wechseln AWT, Swing, JavaFX & SWT 3
J Swing Drive-ComboBox AWT, Swing, JavaFX & SWT 7
L Swing Model für ComboBox AWT, Swing, JavaFX & SWT 14
H Combobox in einer einzelnen Zelle der Jtable AWT, Swing, JavaFX & SWT 2
T Java Combobox Problem AWT, Swing, JavaFX & SWT 3
C SWT Combobox mit Textdatei füllen AWT, Swing, JavaFX & SWT 2
M comboBox Listener? AWT, Swing, JavaFX & SWT 2
R Datenbanktabellen in Combobox AWT, Swing, JavaFX & SWT 3
1 CellEditor mit ComboBox richtig beenden AWT, Swing, JavaFX & SWT 4
L SWT Actionlistener Combobox öffnen AWT, Swing, JavaFX & SWT 4
E Swing CellEditor mit Combobox durch Tastatureingabe editieren?! AWT, Swing, JavaFX & SWT 3
GianaSisters Swing ComboBox im jTable (in bestimmter Zelle nicht über die ganze Spalte) AWT, Swing, JavaFX & SWT 4
T Daten mittels ComboBox in ein JTable adden AWT, Swing, JavaFX & SWT 7
N Filternde Combobox in JTable verliert Fokus nach erster Eingabe AWT, Swing, JavaFX & SWT 2
F Wert zu Eintrag in ComboBox speichern?! AWT, Swing, JavaFX & SWT 7
P Swing ComboBox(en) in JTable auslesen und ausgeben AWT, Swing, JavaFX & SWT 11
M Index von Combobox AWT, Swing, JavaFX & SWT 20
L ComboBox in Action AWT, Swing, JavaFX & SWT 4
D ComboBox & CellListRenderer AWT, Swing, JavaFX & SWT 6
D ComboBox-Model mit Observer AWT, Swing, JavaFX & SWT 3
B Taschenrechner mit ComboBox AWT, Swing, JavaFX & SWT 7
T ComboBox auslesen AWT, Swing, JavaFX & SWT 11
P Combobox liesst falschen Wert AWT, Swing, JavaFX & SWT 10
C Combobox im JFrame aus Datenbank befüllen AWT, Swing, JavaFX & SWT 6
M Combobox soll Farbe einer Komponente setzen AWT, Swing, JavaFX & SWT 2
M Swing ComboBox ein SelectedItem übergeben/anzeigen AWT, Swing, JavaFX & SWT 7
J Werte aus Combobox speichern AWT, Swing, JavaFX & SWT 3
J Combobox als Filterkriterium (Gruppierung) in JTable AWT, Swing, JavaFX & SWT 7
R Swing ComboBox und doppelter Event!? AWT, Swing, JavaFX & SWT 10
M SWT Wie Textfeld hinzufügen, nach Auswahl von einem bestimmten Combobox-item? AWT, Swing, JavaFX & SWT 3
M SWT ComboBox mit DB-Inhalten Designfrage AWT, Swing, JavaFX & SWT 5
W MouseListener im editable ComboBox AWT, Swing, JavaFX & SWT 14
W Combobox mit eingabefeld AWT, Swing, JavaFX & SWT 7
T Editable ComboBox / kein Weiterspringen AWT, Swing, JavaFX & SWT 12
M Combobox in JTable AWT, Swing, JavaFX & SWT 4
S Swing ComboBox aus Array befüllen AWT, Swing, JavaFX & SWT 2
K Per ComboBox Dateien einlesen AWT, Swing, JavaFX & SWT 23
0 Hintergundfarbe von editierbarer ComboBox ändern AWT, Swing, JavaFX & SWT 2
M Frage zu ComboBox AWT, Swing, JavaFX & SWT 7
O Bitte um Hilfe bei ComboBox in TableHeader AWT, Swing, JavaFX & SWT 9
A NetBeans und ComboBox AWT, Swing, JavaFX & SWT 2
SuperSeppel13 Combobox zur Farbwahl kollidiert mit NimbusLookAndFeel AWT, Swing, JavaFX & SWT 7
D ComboBox(Model) mit dummyItem AWT, Swing, JavaFX & SWT 10
D Inhalt von Textfield nach ComboBox AWT, Swing, JavaFX & SWT 2
GilbertGrape nochmal editierbare Combobox AWT, Swing, JavaFX & SWT 3
GilbertGrape JTable mit Combobox-Editierung schon nach einem Klick AWT, Swing, JavaFX & SWT 7
E Swing Button ActionListener Infos aus Textfield und ComboBox AWT, Swing, JavaFX & SWT 3
G ComboBox wird nicht angezeigt beim anhängen an eine Gruppe AWT, Swing, JavaFX & SWT 2
G Combobox Event AWT, Swing, JavaFX & SWT 4
C Binding eines EntityBean als SelectionInList in ComboBox AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben