Java Wie kann ich Combo Boxen erweitern in meinem Programm

Florian93

Cadet 1st Year
Registriert
Apr. 2009
Beiträge
8
Guten abend,

Also wenn ich ein Programm geschrieben habe und es als .jar file habe wie kann ich dann Combo Boxen erweitern.

testzzf.png


z.B. so dass ich dann auf ein Button klicke und eingeb Test 4 und er es dann reinschreibt

Code:
private JComboBox getCbTest() {
		if (cbTest == null) {
			cbTest = new JComboBox();
			cbTest.addItem ("Test1");
			cbTest.addItem ("Test2");
			cbTest.addItem ("Test3");
                                       [B][SIZE="5"][COLOR="DarkRed"] <-- Hier soll es dann das Test 4 reinschreiben.[/COLOR][/SIZE][/B]

			cbTest.setBounds(new Rectangle(102, 80, 181, 28));
			cbTest.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e){ 
					     int Test = cbTest.getSelectedIndex();
					     
					  switch(Test){
	 	 case 0: lbBild.setIcon(new ImageIcon("D:/Bilder/Test1.jpg")); break;
		 case 1: lbBild.setIcon(new ImageIcon("D:/Bilder/Test2.jpg")); break;
		 case 2: lbBild.setIcon(new ImageIcon("D:/Bilder/Test3.jpg")); break;

				}
			}});
		}
		return cbTest;
	}

Ich hoffe ihr versteht was ich meine^^
 
*bzzz*
Hab ein Weilchen gebraucht, bis ich verstanden habe, worauf du hinaus willst.
Du hast eine ComboBox, einen Button und ein TextArea o. ä. Wenn du auf den Button klickst, soll er den Text aus dem TextAread nehmen und als neues Element in die ComboBox eintragen.

Da brauchst du einen ActionListener für den Button. Das ist ein Objekt mit Methoden, die immer dann von Java aktiviert werden, wenn etwas mit dem Button geschieht (er zB geklickt wird).
Das kann man zB so umsetzen:
Code:
JButton meinButton = neu JButton("Klick mich!");
meinButton.addActionListener(new meinButtonListener());

public class meinButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        // Hier was reinschreiben, dass den Text aus dem Text-Component holt und in in die ComboBox packt.
    }
}

Das ist eine innere Klasse, sie muss innerhalb der geschweiften klammern einer anderen Klasse stehen (bevorzugt da, wo du den Button erzeugst).
 
Ja das habe ich gemeint^^

Okay aber ich weiß jetzt nich was ich da programmieren mus damit es Funktioniert.
 
Ich greife mal den geposteten Code von e-Laurin auf:

Code:
JButton meinButton = neu JButton("Klick mich!");
meinButton.addActionListener(new meinButtonListener());

public class meinButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        // ich weiss nicht wie deine Bezeichner heißen, deshalb identifiziere ich die Elemente am Typ
       string text = "";
       if( (text = TextArea.getText()).length != 0 && cbTest != null){
            cbTest.addItem (text);
       }

    }
}

@TE:
Dein Code liefert momentan in einer Methode ein neues ComboboxControl zurück. Achte darauf dass deine Sichtbarkeit von "cbTest" dementsprechend gesetzt ist.
Achja eine Überprüfung muss nicht unbedingt auf die length des Strings erfolgen, sondern geht auch über equals(""). Das ist ein wenig Geschmackssache und von dem abhängig was du damit anstellen willst.
 
Bleiben die Sachen dann auch gespeichert wenn ich es so mach wie von Firestorm vorgeschlagen?

Edit: Ich kriegs nicht auf die Reihe. Nehmen wir mal an, mein Button heißt btTest und mein Eingabefeld heißt tfTest. Was muss dann hier genau stehen?

Code:
	private JButton getBtTest() {
		if (btTest == null) {
			btTest = new JButton();
			btTest.setBounds(new Rectangle(117, 63, 100, 19));
			btTest.setText("Verarbeite");
			btTest.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
	
				}
			});
		}
		return btTest;
	}
 
Zuletzt bearbeitet:
Verstehst du meinen Code nicht oder wo hängt es? Vielleicht solltest du eine Stufe weiter unten anfangen, denn solche Sachen sind mehr als trivial. Ausserdem nicht den Code einfach copy+pasten, sondern lesen was in dem Kommentar steht.

Und nein, natürlich sind die Einträge nicht persistent gespeichert, wie denn auch.

Ein guter Einstieg wäre sicherlich: http://download.oracle.com/javase/tutorial/uiswing/components/combobox.html
bzw.
http://openbook.galileodesign.de/javainsel5/javainsel15_012.htm
 
Ich glaube, er will, dass wir das für ihn programmieren, denn er zeigt irgendwie überhaupt keine Selbstinitiative.
Dabei wurde die Lösung doch schon in diesem Thread gepostet.
 
Also erstmal danke für die Antworten.
Nein ich möchte nich das ihr mir das macht ich versteh das halt nur nicht so ganz.
Habs jetzt aber hinbekommen. Aber ich wollte es so das es auch gespeichert bleibt.

Es soll quasi ein "Archiv" werden und das ist für mein Bruder. Da er aber sich nicht mit programmieren auskennt, wollte ich halt etwas programmieren das er das "Arichv" einfach erweitern kann.
 

Ähnliche Themen

M
Antworten
5
Aufrufe
1.420
Zurück
Oben