Swing Model für ComboBox

Lls27

Mitglied
Hallo ,

sofern ich weiß kann man mit dem Befehl
Java:
 String[] patternExamples = {
                "a",
                "b"
                 };

eine Combobox (Dropdownmenü) erstellen.

Ich möchte nun,dass beim auswählen von z.B. "a" eine Variable x eine bestimmten Wert erhält.
Dieser sollte dann auch angezeigt werden.

Ich dachte an einen if Befehl, doch leider hab ich keine Idee wie ich da ansetzen soll.

Es sollte am Ende etwa so aussehen: Widerstandsfarbcode (Widerstandskennzeichnung Widerstandsbestimmung Widerstandscode)
(etwas runterscrollen, dann kommt ein Kohleschichtwiderstandberechner)


Danke im Vorraus :)
 
Zuletzt bearbeitet von einem Moderator:

Volvagia

Top Contributor
Ne, kann man nicht. Damit intialisiert man ein String-Array und füllt es gleich. Kannst an der ComboBox einen ItemListener registrieren. Der wird immer aufgerufen, sobald ein Wert an bzw. abgewählt wird. (Was meistens parallel passiert.)
 

Lls27

Mitglied
Ich kenne diesen Befehl jetzt direkt nicht habe folgendes gefunden:


Java:
 if (e.getStateChange() == ItemEvent.SELECTED) {
        label.setVisible(true);
        ...
    } else {
        label.setVisible(false);

Was ich dadraus entlesen kann ist, dass beim Wählen eines Button sich der Wert ändert

doch wie bring ich da jetzt die Variablen ein?
 

Volvagia

Top Contributor
Die Combobox besitzt die Methoden getSelectedItem() und getSelectedIndex(). Sollten selbsterklärend sein. Den Wert, den du verändern willst und den Inhalt der Box könntest du über eine HashMap linken.

Nach dem du das Label invisible gesetzt hast wirst du vermutlich neu zeichnen müssen. Allerdings ist es so (Vermutung!) nicht gut, da bei jeder Änderung der Box der Listener aufgerufen wird. Also 1x beim deselecten des alten Wertes und 1x beim selecten des neuen.
 

Volvagia

Top Contributor
Nicht nicht elegant, es wird nur vermutlich nichts bringen, da es durch den deselect !visible und durch den sofortigen select visible wird. Oder umgekehrt, die Listeneraufrufreihenfolge ist nicht genormt. Die Implementation hängt natürlich von deinem restlichen Programm ab. Das war nur ein Vorschlag, aber ich weiß ja garnicht woher die Werte kommen oder was sie bedeuten.
 

Volvagia

Top Contributor
Und falls du jetzt "schwarz" auswählst soll der Widerstand "0, 0, 0xFFFFFFFF" ausgewählt werden? Dann würde ich das so machen. (Nur im Board geschrieben, bin schon ziemlich müde.)

Java:
private static final Map<String, Widerstand> WIDERSTAND_MAP = new HashMap<String, Widerstand>() {
	{
		put("scharz", new Widerstand(0, 0, -1, -1, 0xFFFFFFFF);
		put("braun", new Widerstand(1, 1, 10, 1, 0x..);
		put("rot", new Widerstand(2, 2, 100, 2, 0x..);
		put("orange", new Widerstand(3, 3, 1000, -1, 0x..);
		...
	}
}

private static final String[] WIDERSTAND_KEYS = {
	"schwarz",
	"braun",
	"rot",
	"orange",
	...
}

public void method() {
	final JComboBox box = new JComboBox(WIDERSTAND_KEYS);
	box.addItemListener(new ItemListener() {
		public void itemChanged(ItemEvent arg0) {
			if(arg0.getStateChanged() == ItemEvent.SELECTED) {
				Widerstand widerstand = WIDERSTAND_MAP.get(box.getSelectedItem().toString());
				if(widerstand != null) {
					//Tu was damit
				} else {
					System.err.println("Widerstand not found");
				}
			}
		}
	});
}

Keine Ahnung, was Widerstand auf englisch heißt.
 

bERt0r

Top Contributor
Also ich würde da nicht den Umweg über eine Map gehen. Einfach eine Enum Widerstand machen mit toString Methode die dir "schwarz" usw. zurückggibt.
Java:
public enum Widerstand
{
  SCHWARZ("schwarz",0,0,-1,-1,0xFFFFFFFF),
  BRAUN("braun",1, 1, 10, 1, 0x..)
  ....
  ;
public final int farbe,ring1,ring2,ring3,ring4;
public final name;

public Widerstand(String label,int r1,int r2, int r3, int r4, int farbe)
{
  name=label;
  ring1=r1;.....
}
@Override
public String toString()
{
return name;
}
}
Die kannst du dann einfach so in deine Combobox packen, durch die toString Methode wird der richtige Text angezeigt.
Java:
JComboBox box=new JComboBox();
for(Widerstand w:Widerstand.values())
{
box.addItem(w);
}
 
Zuletzt bearbeitet:

Lls27

Mitglied
Sprich:
Java:
String[] patternExamples = {
                JComboBox box=new JComboBox();
for(Widerstand w:Widerstand.values())
{
box.addItem(w);
}
                 };

so etwa?
 

Lls27

Mitglied
Soweit hab ichs verstanden
leider kommt bei mir nichts und man beachte, dass ich ebenfalls mehrere Comboboxes erstellen muss
vorallem beim erstellen vom GUI kommt bei mir nichts
 
Zuletzt bearbeitet:

bERt0r

Top Contributor
Das man dir alles in den ***** ******** muss....
Java:
import java.awt.BorderLayout;


public class ComboBoxIASB extends JFrame
{
	
	private JPanel contentPane;
	private JPanel panel;
	
	/**
	 * Launch the application.
	 */
	public static void main(String[] args)
	{
		EventQueue.invokeLater(new Runnable()
			{
				public void run()
				{
					try
					{
						ComboBoxIASB frame = new ComboBoxIASB();
						frame.setVisible(true);
					} catch (Exception e)
					{
						e.printStackTrace();
					}
				}
			});
	}
	
	/**
	 * Create the frame.
	 */
	public ComboBoxIASB()
	{
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		JComboBox<Widerstand> comboBox = new JComboBox<Widerstand>();
		for(Widerstand w:Widerstand.values())
		{
			comboBox.addItem(w);
		}
		comboBox.addItemListener(new ItemListener(){

			@Override
			public void itemStateChanged(ItemEvent e)
			{
				if(e.getStateChange()==ItemEvent.SELECTED)
				{
					Widerstand w=(Widerstand)e.getItem();
					panel.setBackground(new Color(w.farbe));
				}
				
			}
			
		});
		contentPane.add(comboBox, BorderLayout.NORTH);
		
		panel = new JPanel();
		contentPane.add(panel, BorderLayout.SOUTH);
	}
	
	enum Widerstand
	{
	  SCHWARZ("schwarz",0,0,-1,-1,0x0),
	  BRAUN("braun",1, 1, 10, 1, 0x552020),
	  ROSA("rot",99,99,99,99,0xFF0000);
	  
	public final int farbe,ring1,ring2,ring3,ring4;
	public final String name;
	 
	private Widerstand(String label,int r1,int r2, int r3, int r4, int f)
	{
	  this.name=label;
	  ring1=r1;
	  ring2=r2;
	  ring3=r3;
	  ring4=r4;
	  farbe=f;
	}
	@Override
	public String toString()
	{
	return name;
	}
	}
	
}
 

Lls27

Mitglied
erstmal tut es mir leid für meine "Dummheit". Ich bin noch jung und erfahren, das sind meine ersten Schritte in Java.
Ich möchte mich noch herzlich bedanken für die schnellen und hilfreichen Antworten.

Als Letztes würde ich gerne fragen warum sich bei mir die Fehlermeldung :
EventQueue cannot be resolved
The method setVisible(boolean) is undefined for the type ComboBoxIASB

zeigt?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Neues Model für JTextField erstellen AWT, Swing, JavaFX & SWT 8
A Gemeinsames Model für Baum- und Graphdarstellung-wie gehts? AWT, Swing, JavaFX & SWT 9
C Default table model aktualisieren AWT, Swing, JavaFX & SWT 7
A ViewController (IFrame) > Jdialog > Model AWT, Swing, JavaFX & SWT 1
J Saubere Trennung Model, View, Controller Javafx AWT, Swing, JavaFX & SWT 10
F JComboBox und Model AWT, Swing, JavaFX & SWT 10
S UI Model Binding AWT, Swing, JavaFX & SWT 7
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
ralfb1105 JavaFX MVC: Thread in Model Class mit Ausgabe in TextArea AWT, Swing, JavaFX & SWT 10
B JavaFX mvvmfx - Model AWT, Swing, JavaFX & SWT 3
J JavaFX - mehrere Views, Model durchreichen AWT, Swing, JavaFX & SWT 10
T JavaFX Model Daten übergeben AWT, Swing, JavaFX & SWT 4
S Zwei JTree, ein Model, bei Selection im ersten JTree soll der zweite die Inhlate anzeigen AWT, Swing, JavaFX & SWT 2
M JList Model filtern AWT, Swing, JavaFX & SWT 4
O Swing JTextField Sync View -> Model AWT, Swing, JavaFX & SWT 3
S Swing Tabelle mit Model bei eingeschaltetem Filter synchronisieren AWT, Swing, JavaFX & SWT 6
P jTable model setzen AWT, Swing, JavaFX & SWT 6
D SWT TreeViewer: Daten aus Model gelöscht... trotzdem noch im Baum AWT, Swing, JavaFX & SWT 4
F Swing GUI und Model mit Timer AWT, Swing, JavaFX & SWT 13
earlgrey_tea JTextfield Model AWT, Swing, JavaFX & SWT 14
O Swing JTable - Zeilen färben (mit Model) AWT, Swing, JavaFX & SWT 13
C Swing JTable verbindet sich nicht mit Model AWT, Swing, JavaFX & SWT 20
D Swing JList <-> AdapterModel <-> Model AWT, Swing, JavaFX & SWT 4
C Swing MVC Verbindung von Model und Db AWT, Swing, JavaFX & SWT 23
R Model View Controller Konzept AWT, Swing, JavaFX & SWT 2
N update model nach dem filtern AWT, Swing, JavaFX & SWT 2
R Swing Designfrage - Zusammenspiel Model / View AWT, Swing, JavaFX & SWT 10
D Swing JList, CellRenderer und Model AWT, Swing, JavaFX & SWT 6
J Swing SwingActions und das Problem auf den View bzw. das Model zuzugreifen AWT, Swing, JavaFX & SWT 2
K Swing JTable Model aktualisieren AWT, Swing, JavaFX & SWT 2
C Swing JComboBox probleme bei Set Model AWT, Swing, JavaFX & SWT 5
T JTable Model AWT, Swing, JavaFX & SWT 5
D Swing JTable Model View Problem AWT, Swing, JavaFX & SWT 6
F unspezifizierte Frage zu JTable/ Model AWT, Swing, JavaFX & SWT 6
D ComboBox-Model mit Observer AWT, Swing, JavaFX & SWT 3
M Swing Model an View binden AWT, Swing, JavaFX & SWT 4
R Zugriff auf Model im MVC-Design aus SwingWorker heraus AWT, Swing, JavaFX & SWT 3
Z JLIST / Model erster EINTRAG AWT, Swing, JavaFX & SWT 11
G Model,Listener und background jobs AWT, Swing, JavaFX & SWT 4
X Swing JList -> Daten anders darstellen als im Model hinterlegt -> möglich ? AWT, Swing, JavaFX & SWT 9
N Model Aktualisieren AWT, Swing, JavaFX & SWT 4
N Swing JComboBox: Auf Model- und Selectionänderungen reagieren AWT, Swing, JavaFX & SWT 2
D JTable, Model, Fokus AWT, Swing, JavaFX & SWT 3
hdi Swing JTable: Löschen vom Daten im Model AWT, Swing, JavaFX & SWT 7
R Swing alle Frames nutzen das gleiche Model AWT, Swing, JavaFX & SWT 2
S JList mit Vector als Model? AWT, Swing, JavaFX & SWT 12
S JTree mit Daten aus Model füllen, eigenes TreeModel (gute Dokumentation des Problems) AWT, Swing, JavaFX & SWT 2
J JTable Model laesst sich nicht serialisieren? AWT, Swing, JavaFX & SWT 16
D ComboBox(Model) mit dummyItem AWT, Swing, JavaFX & SWT 10
G JComboBox mit eigenem Model vorhanden, wie selektieren AWT, Swing, JavaFX & SWT 29
M MVC: Grundidee verstanden aber was machen mit mehreren Model AWT, Swing, JavaFX & SWT 2
V JList ist leer -Model ist voll. Ja, ne is klaaa. AWT, Swing, JavaFX & SWT 8
K JSpinner - Model <-> View, unterschiedliche Werte AWT, Swing, JavaFX & SWT 9
W Suche großes vollständiges Swing GUI Beispiel nach MVC Model AWT, Swing, JavaFX & SWT 5
P jTable mit Model lässt sich nicht neu laden AWT, Swing, JavaFX & SWT 5
P JTable/Model füllen mit Fortschrittsbalken, Var. Rückgabetyp AWT, Swing, JavaFX & SWT 2
J model von jcombobox AWT, Swing, JavaFX & SWT 4
D Swing und MVC und doppeltes Model? AWT, Swing, JavaFX & SWT 5
G JTable und Model AWT, Swing, JavaFX & SWT 21
B View zeichnet Daten aus dem Model ohne Update AWT, Swing, JavaFX & SWT 4
J JTable / Model Daten verändern AWT, Swing, JavaFX & SWT 5
C Model View Controller - Beispielimplementation AWT, Swing, JavaFX & SWT 5
C [JTable] ArrayIndexOutOfBoundsException im Model AWT, Swing, JavaFX & SWT 8
Icewind Jlist zeigt neue elemente im model nicht sofort an AWT, Swing, JavaFX & SWT 3
Icewind JTable zeigt neue elemente im model nicht sofort an AWT, Swing, JavaFX & SWT 3
S Frage zu Table(Column)Model AWT, Swing, JavaFX & SWT 3
H Model umbauen ? AWT, Swing, JavaFX & SWT 5
M SWT und Model View Controller? AWT, Swing, JavaFX & SWT 8
J Table Model AWT, Swing, JavaFX & SWT 2
J Abstract Table Model AWT, Swing, JavaFX & SWT 7
D Model Listener beim JTree AWT, Swing, JavaFX & SWT 5
Juelin setzen background color für selected Row im Tableview AWT, Swing, JavaFX & SWT 21
Juelin Für Java-Spezialisten AWT, Swing, JavaFX & SWT 4
H JTabel - RowFilter Daten für Berechnung filtern AWT, Swing, JavaFX & SWT 6
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
M Vokabelprogram - Schleife für Liste soll schrittweise durchlaufen werden AWT, Swing, JavaFX & SWT 3
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
I Libraries für AWT für andere Grafik-Frameworks tauglich machen AWT, Swing, JavaFX & SWT 6
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
komplettlost Vollbildmodus für MacOs Nutzer geht nicht AWT, Swing, JavaFX & SWT 13
D JavaFX Schadensberechnung für Kartenspiel AWT, Swing, JavaFX & SWT 1
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
L actionListener für Button AWT, Swing, JavaFX & SWT 97
izoards Textfeld für Zeit AWT, Swing, JavaFX & SWT 4
CptK Wie funktioniert contains() für Path2D.Double AWT, Swing, JavaFX & SWT 10
T Getter und Setter für eine Stage AWT, Swing, JavaFX & SWT 6
P Swing Programm hängt sich bei Buttondruck auf? (GUI für "Chatbot" erstellen) AWT, Swing, JavaFX & SWT 15
T Button für GUI programmieren AWT, Swing, JavaFX & SWT 1
Z Switch Case für Buttons AWT, Swing, JavaFX & SWT 8
M Hough-Transformation für Kreise und andere Formen AWT, Swing, JavaFX & SWT 3
kodela HTML-tags für JLabel AWT, Swing, JavaFX & SWT 9
E Keystroke für Ausschneiden läßt sich nicht ändern AWT, Swing, JavaFX & SWT 2
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
MiMa Package Struktur für GUI Programmierung AWT, Swing, JavaFX & SWT 26
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
B eclipse für JavaFx setuppen AWT, Swing, JavaFX & SWT 4
K Swing Struktur für TreeTable rekursiv aufbauen AWT, Swing, JavaFX & SWT 17

Ähnliche Java Themen

Neue Themen


Oben