ausgewählte JtoggleButton als Variablenwert ausgeben

Ci

Aktives Mitglied
Hallo,

hab in meiner Oberfläche einige Textfelder. Den eingegeben Wert packe ich in eine Variable und lade den Wert später in meine Datenbank

Java:
public static JFormattedTextField txtFHersteller;
public static String hersteller = null;
.
.
hersteller = txtFHersteller.getText();

...so mach ich das bei einem Textfeld. jetzt hab ich eine Gruppe für meine JToggleButtons angelegt. Damit ich immer nur eins auswählen kann. nun will ich das ausgewählte in eine Variable packen, damit ich nachher genauso vorgehen kann wie bei meinem Textfeld.

Wie stell ich das am besten an?!

mein bisheriger Code:

Java:
public static ButtonGroup modultyp= new ButtonGroup();
public static String modulTYP = null;
.
.
modulTYP = modultyp.getText();

aber die letzte Zeile,also
Code:
modulTYP = modultyp.getText();
wird schon rot markiert von Eclipse :( ist auch klar, da das ja kein Textfeld ist. Aber wie funktioniert das für mein JToggleButton?

jmd. ne Idee?

gruß
 
Zuletzt bearbeitet:

Ci

Aktives Mitglied
hab jetzt die Idee, den ausgewählten Button, der ja eine Variable besitzt, einfach in ein Textfeld auszugeben. So kann ich ja dann in mein Textfeld greifen und den Wert in die Datenbank laden.

hier mal die wichtigsten Komponenten:

Java:
public static JToggleButton toggleButton_1 = new JToggleButton("1"); // 1 ist der Name für diesen Button
	public static JToggleButton toggleButton_2 = new JToggleButton("2");
	public static JToggleButton toggleButton_3 = new JToggleButton("3");
	public static JToggleButton toggleButton_4 = new JToggleButton("4");
	public static JToggleButton toggleButton_5 = new JToggleButton("5");
	public static JToggleButton toggleButton_6 = new JToggleButton("6");
	public static JToggleButton toggleButton_7 = new JToggleButton("7");
.
.
public static ButtonGroup modultyp= new ButtonGroup();
.
.
JFormattedTextField formattedTextFieldModultyp = new JFormattedTextField();

wie bekomme ich jetzt den Namen von meinem Button "1" in mein Textfeld?
 

Ci

Aktives Mitglied
Die Idee oben ist kacke, hab mal wieder nicht nachgedacht!

Aber die aufgeführten Codezeilen oben, sind das was ich bisher für meine Buttons hab. Von den sieben Buttons kann ich ja immer nur einen auswählen. Jetzt muss man doch den Wert des Buttons irgendwie greifen können um damit arbeiten zu können oder nicht?!
 

Michael...

Top Contributor
Jetzt muss man doch den Wert des Buttons irgendwie greifen können um damit arbeiten zu können oder nicht?!
Mal abgesehen davon, was der "Wert" eines Buttons ist, gibt es mehrere Möglichkeiten. z.B.:
- die Buttons in ein Array/ eine Liste packen und bei Bedarf darüber iterieren und mit isSelected() prüfen welcher Button selektiert ist
- den Buttons einen ActionCommmand zuweisen, um diesen bei Bedarf über ButtonGroup#getSelection().getActionCommand() zu erfragen.
 

Michael...

Top Contributor

Ci

Aktives Mitglied
verusch jetzt mal mein Problem genauer zu beschreiben:

Nun, ich hab sieben JTogglButtons, jeder Button hat ein Icon. Auf den sieben Icons sind verschieden Obstsorten dargestellt. Der Benutzer der Oberfläche muss jeden Tag eine Obstsorte essen (wenn er mehr isst, ist es hier irrelevant, er soll einfach nur eins auswählen). Also muss er jetzt den richtigen Button anklicken. Beispiel:

Er klickt auf den "Apfel" Button.
jetzt möchte ich den String in meine Datenbank hinterlegen.

Also hab ich ja die sieben Buttons in eine ButtonGroup zugewiesen, damit immer nur ein Button ausgewählt werden kann!

ich weiss wie ich in Textfeldern den Inhalt auslesen und per SQL in die DB speichern kann.
Nur weiss ich leider nicht genau wie ich das mit der CheckboxGroup mache!

hoff das Problem ist einigermassen gut rübergekommen.

bin so lansgsam am verzweifeln :(
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Das ist immernoch etwas schwammig, und ich hab' keine Ahnng was diese TextFields da dauernd sollen, aber in Anlehnung an den schon mehrfach verlinkten FAQ-Eintrag:
Java:
private static final String iconFiles[] = { "./images/apple.gif", ".images/pear.gif" ... };
private static final String fruitNames[] = { "Apfel", "Birne" ... };

void init()
{
    for (int i=0; i<fruitNames.length; i++)
    {
        JToggleButton button = new JToggleButton(iconFiles[i]);
        ...
        button.addActionListener(createListener(fruitNames[i]));
    }
}

private ActionListener createListener(final String name)
{
    return new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            pressedButtonWithName(name);
        }
    };
}

private void pressedButtonWithName(String name)
{
    System.out.println("Geklickt: "+name);
}

Soweit ich das sehe, hat die ButtonGroup damit nur indirekt zu tun. Wenn nicht, beschreib' den Zusammenhang.
 

Ci

Aktives Mitglied
oh je, mit arrays kann nicht nicht viel anfangen! Bin da nicht gerade fit :(
geht das vllt. auch ohne array?!

...wie gesagt, ButtonGruop hab ich angelegt, um nur einen Button auswählen zu können! Sonst könnt ich ja auf alle rum tippen und alle wären gleichzeitig aktiv! Will ich ja nicht!

...in meiner Oberfläche hab ich auch Textfelder. In diesen Textfeldern soll der Benutzer irgendwelche Daten eingeben, wie z.B. den Namen! das Feld kann ich problemlos auslesen und in meine Datenbank laden. So will ich ja auch mit den ToggleButtons vorgehen. Nur ist das nicht so einfach...

gruß
 

Michael...

Top Contributor
Nur ist das nicht so einfach...
Versteh das Problem nicht, wo gibt's da Schwierigkeiten? Es wurden ja bereits mehrere Möglichkeiten genannt. Wie und ob man diese einsetzt hängt vom Zweck ab.

Java:
	JFrame frame = new JFrame();
	frame.setLayout(new GridLayout(0, 1));
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	final ButtonGroup group = new ButtonGroup();
	for (int i=0; i<5; i++) {
		JToggleButton toggle = new JToggleButton("" + i);
		group.add(toggle);
		frame.add(toggle);
		toggle.setActionCommand(" Action " + i);
		toggle.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.out.println(group.getSelection().getActionCommand());
			}
		});
	}
	frame.pack();
	frame.setVisible(true);
 
Zuletzt bearbeitet:

Marco13

Top Contributor
(Vielleicht noch als Randbmerkung: Das, was ich oben geschrieben habe, kann man auch mit dem ActionCommand erreichen. Wenn man aber "mehr übergeben will" als nur einen String (also z.B. zusätzlich den Index oder irgendwas anderes) kann man das mit einem anonymen Listener in dieser Form leicht dahingehend erweitern)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J CheckComboBox : Ausgewählte Items NICHT im Header anzeigen AWT, Swing, JavaFX & SWT 4
S JavaFx - ausgewählte Rows in Arraylist (Tableview) AWT, Swing, JavaFX & SWT 4
M ausgewählte Inhalt von ListItem inn ComboBox in der Tabelle speichern AWT, Swing, JavaFX & SWT 0
R JavaFX TableView - nicht ausgewählte Reihe ansprechen AWT, Swing, JavaFX & SWT 6
I ausgewählte Zeile mit Hilfe der Tastatur löschen! AWT, Swing, JavaFX & SWT 3
D ausgewählte Textstellen scheinen durch Dialog durch AWT, Swing, JavaFX & SWT 7
G TableCellRenderer soll ganze ausgewählte Zeile markieren AWT, Swing, JavaFX & SWT 2
L Header von ausgewählte Spalten ausgeben AWT, Swing, JavaFX & SWT 6
L Inhalt von ausgewählte Spalten aus JTable abfragen AWT, Swing, JavaFX & SWT 4
C JToggleButton disabled Text Color AWT, Swing, JavaFX & SWT 11
Paul15 JCheckBox und JToggleButton AWT, Swing, JavaFX & SWT 5
P Swing JToggleButton Links- und Rechtsklick AWT, Swing, JavaFX & SWT 4
T Swing JToggleButton Zustand AWT, Swing, JavaFX & SWT 2
E JToggleButton automatisch nach drücken loslassen AWT, Swing, JavaFX & SWT 3
V Swing Custom JToggleButton in JTable - Click-Event geht erst beim zweiten Mal AWT, Swing, JavaFX & SWT 7
kodela Swing JToggleButton und Tastatur AWT, Swing, JavaFX & SWT 2
P Swing JComboBox mit JToggleButton kombinieren AWT, Swing, JavaFX & SWT 4
B JToggleButton und StyledEditorKit.ItalicAction() AWT, Swing, JavaFX & SWT 2
P JToggleButton AWT, Swing, JavaFX & SWT 6
M Swing Selektion mehrerer JToggleButton's in einer Gruppe AWT, Swing, JavaFX & SWT 5
K JToggleButton deaktivieren (komplettes event nehmen) AWT, Swing, JavaFX & SWT 2
C Swing JToggleButton und Icon AWT, Swing, JavaFX & SWT 2
G JToggleButton - Hintergrundfarbe beim Drücken festlegen AWT, Swing, JavaFX & SWT 4
G JToggleButton pressed geht nicht AWT, Swing, JavaFX & SWT 2
gieser jToggleButton: Text unter Bild AWT, Swing, JavaFX & SWT 2
F JToggleButton in AWT umsetzen (Button soll stecken bleiben) AWT, Swing, JavaFX & SWT 4
G JToggleButton AWT, Swing, JavaFX & SWT 6
G welcher Jtogglebutton geklickt? AWT, Swing, JavaFX & SWT 3
G JToggleButton mit Bild AWT, Swing, JavaFX & SWT 6
O ButtonGroup + JToggleButton &;nbsp] AWT, Swing, JavaFX & SWT 6
S Zweidimensionales Array - JToggleButton AWT, Swing, JavaFX & SWT 3
E JToggleButton Zustandsänderung AWT, Swing, JavaFX & SWT 4
M JToggleButton immer nur einen aktivieren AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben