JRadioButton, actionPerformed und Textfelder

Status
Nicht offen für weitere Antworten.

DeeDee0815

Bekanntes Mitglied
Hallo,

ich möchte auf die Auswahl in eines JRadioButtons reagieren, indem ich bestimmte Textfelder deaktiviere. Wie macht man das?

Code:
import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.AbstractAction;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;

class Settings
extends JDialog
implements ActionListener
{
	private static final long serialVersionUID = 1L;
	public Settings()
	{
		final JDialog SettingsFrame = new JDialog(this, "Einstellungen", true);
		SettingsFrame.pack();
		SettingsFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("Settings.png")));
		SettingsFrame.setSize(420, 320);
		SettingsFrame.setResizable(false);
		SettingsFrame.setLocationRelativeTo(null);
		
		JTabbedPane tabbedpane = new JTabbedPane();
		
		JPanel general = new JPanel();
		general.setLayout(null);
		JCheckBox general0 = new JCheckBox("Letzte Sitzung beim starten automatisch laden");
		JCheckBox general1 = new JCheckBox("Sitzung beim verlassen automatisch speichern");
		JCheckBox general2 = new JCheckBox("Vor dem Beenden nachfragen");
		JCheckBox general3 = new JCheckBox("Daten alle zehn Minuten automatisch speichern");
		JCheckBox general4 = new JCheckBox("Nicht gespeicherte Daten beim beenden speichern");
		general0.setBounds(10, 10, 375, 25);
		general1.setBounds(10, 50, 375, 25);
		general2.setBounds(10, 90, 375, 25);
		general3.setBounds(10, 130, 375, 25);
		general4.setBounds(10, 170, 375, 25);
		general.add(general0);
		general.add(general1);
		general.add(general2);
		general.add(general3);
		general.add(general4);
		tabbedpane.addTab("Allgemeines", general);
		
		JPanel design = new JPanel();
		design.setLayout(null);
		final String[] designs = {
				"Systemdesign", "Metal", "Motif"
		};
		JLabel design0 = new JLabel();
		JComboBox design1 = new JComboBox(designs);
		JLabel design2 = new JLabel();
		design0.setBounds(10, 10, 375, 25);
		design1.setBounds(10, 50, 375, 25);
		design2.setBounds(10, 90, 375, 80);
		design0.setText("<html>Bitte wählen Sie das gewünschte Design aus:</html>");
		design2.setText("<html>Beachten Sie dabei auch, dass das gewählte Design die Geschwindigkeit von MenRecord beeinflusst. Das Systemdesign verlangt viel Leistung; Metal und Motif sind hingegen recht schlank.</html>");
		design.add(design0);
		design.add(design1);
		design.add(design2);
		tabbedpane.addTab("Design", design);
		
		JPanel saving = new JPanel();
		saving.setLayout(null);
		ButtonGroup saving0 = new ButtonGroup();
		JRadioButton saving0sub0 = new JRadioButton("In MRF-Dateien speichern", true);
		JRadioButton saving0sub1 = new JRadioButton("In MySQL-Datenbank speichern");
		JLabel saving1 = new JLabel("Host:");
		JTextField saving2 = new JTextField();
		JLabel saving3 = new JLabel("Datenbank:");
		JTextField saving4 = new JTextField();
		JLabel saving5 = new JLabel("Benutzername:");
		JTextField saving6 = new JTextField();
		JLabel saving7 = new JLabel("Kennwort:");
		JTextField saving8 = new JPasswordField();
		saving0sub0.setBounds(10, 10, 375, 25);
		saving0sub1.setBounds(10, 50, 375, 25);
		saving1.setBounds(30, 90, 100, 25);
		saving2.setBounds(140, 90, 200, 25);
		saving3.setBounds(30, 120, 100, 25);
		saving4.setBounds(140, 120, 200, 25);
		saving5.setBounds(30, 150, 100, 25);
		saving6.setBounds(140, 150, 200, 25);
		saving7.setBounds(30, 180, 100, 25);
		saving8.setBounds(140, 180, 200, 25);
		saving0.add(saving0sub0);
		saving0.add(saving0sub1);
		saving.add(saving0sub0);
		saving.add(saving0sub1);
		saving.add(saving1);
		saving.add(saving2);
		saving.add(saving3);
		saving.add(saving4);
		saving.add(saving5);
		saving.add(saving6);
		saving.add(saving7);
		saving.add(saving8);
		saving2.setEnabled(false);
		saving4.setEnabled(false);
		saving6.setEnabled(false);
		saving8.setEnabled(false);
		saving0sub0.addActionListener(this);
		saving0sub1.addActionListener(this);
		tabbedpane.addTab("Speichern", saving);
		
		JPanel features = new JPanel();
		features.setLayout(null);
		tabbedpane.addTab("Spezialfunktionen", features);
		
		SettingsFrame.add(tabbedpane, BorderLayout.CENTER);
		
		JButton close = new JButton(new AbstractAction("Schließen") {
			private static final long serialVersionUID = 1L;
			public void actionPerformed(ActionEvent event)
			{
				SettingsFrame.setVisible(false);
				SettingsFrame.dispose();
			}
		});
		SettingsFrame.add(close, BorderLayout.SOUTH);
		
		SettingsFrame.setVisible(true);
	}
	public void actionPerformed(ActionEvent event) {
		String command = event.getActionCommand();
		if(command == "In MRF Dateien speichern:") {
			saving2.setEnabled(false);
			saving4.setEnabled(false);
			saving6.setEnabled(false);
			saving8.setEnabled(false);			
		} else if(command == "In MySQL-Datenbank speichern:") {
			saving2.setEnabled(true);
			saving4.setEnabled(true);
			saving6.setEnabled(true);
			saving8.setEnabled(true);
		}
	}
}

So jedenfalls nicht. Wie kann man auf die Textfelder saving2, saving4, saving6 und saving8 außerhalb des Settings() zugreifen?
 
G

Guest

Gast
Hi!

So z.B.

Code:
class Settings extends JDialog implements ActionListener
{
   private static final long serialVersionUID = 1L;

   private JTextField saving2,saving4,saving6,saving8;
   [...]

und unten dann
Code:
saving2 = new JTextField();
statt
Code:
JTextField saving2 = new JTextField();
natuerlich bei allen anderen auch...

Gruesse
HG
 

DeeDee0815

Bekanntes Mitglied
Aha!

Vielen lieben Dank! So funktioniert's perfekt! (Was Du aber sicherlich schon vorher wusstest :wink: )

Code:
import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.AbstractAction;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;

class Settings
extends JDialog
implements ActionListener
{
	private static final long serialVersionUID = 1L;
	
	private JTextField saving2;
	private JTextField saving4;
	private JTextField saving6;
	private JPasswordField saving8;
	
	public Settings()
	{
		final JDialog SettingsFrame = new JDialog(this, "Einstellungen", true);
		SettingsFrame.pack();
		SettingsFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("Settings.png")));
		SettingsFrame.setSize(420, 320);
		SettingsFrame.setResizable(false);
		SettingsFrame.setLocationRelativeTo(null);
		
		JTabbedPane tabbedpane = new JTabbedPane();
		
		JPanel general = new JPanel();
		general.setLayout(null);
		JCheckBox general0 = new JCheckBox("Letzte Sitzung beim starten automatisch laden");
		JCheckBox general1 = new JCheckBox("Sitzung beim verlassen automatisch speichern");
		JCheckBox general2 = new JCheckBox("Vor dem Beenden nachfragen");
		JCheckBox general3 = new JCheckBox("Daten alle zehn Minuten automatisch speichern");
		JCheckBox general4 = new JCheckBox("Nicht gespeicherte Daten beim beenden speichern");
		general0.setBounds(10, 10, 375, 25);
		general1.setBounds(10, 50, 375, 25);
		general2.setBounds(10, 90, 375, 25);
		general3.setBounds(10, 130, 375, 25);
		general4.setBounds(10, 170, 375, 25);
		general.add(general0);
		general.add(general1);
		general.add(general2);
		general.add(general3);
		general.add(general4);
		tabbedpane.addTab("Allgemeines", general);
		
		JPanel design = new JPanel();
		design.setLayout(null);
		final String[] designs = {
				"Systemdesign", "Metal", "Motif"
		};
		JLabel design0 = new JLabel();
		JComboBox design1 = new JComboBox(designs);
		JLabel design2 = new JLabel();
		design0.setBounds(10, 10, 375, 25);
		design1.setBounds(10, 50, 375, 25);
		design2.setBounds(10, 90, 375, 80);
		design0.setText("<html>Bitte wählen Sie das gewünschte Design aus:</html>");
		design2.setText("<html>Beachten Sie dabei auch, dass das gewählte Design die Geschwindigkeit von MenRecord beeinflusst. Das Systemdesign verlangt viel Leistung; Metal und Motif sind hingegen recht schlank.</html>");
		design.add(design0);
		design.add(design1);
		design.add(design2);
		tabbedpane.addTab("Design", design);
		
		JPanel saving = new JPanel();
		saving.setLayout(null);
		ButtonGroup saving0 = new ButtonGroup();
		JRadioButton saving0sub0 = new JRadioButton("In MRF-Dateien speichern", true);
		JRadioButton saving0sub1 = new JRadioButton("In MySQL-Datenbank speichern");
		JLabel saving1 = new JLabel("Host:");
		saving2 = new JTextField();
		JLabel saving3 = new JLabel("Datenbank:");
		saving4 = new JTextField();
		JLabel saving5 = new JLabel("Benutzername:");
		saving6 = new JTextField();
		JLabel saving7 = new JLabel("Kennwort:");
		saving8 = new JPasswordField();
		saving0sub0.setBounds(10, 10, 375, 25);
		saving0sub1.setBounds(10, 50, 375, 25);
		saving1.setBounds(30, 90, 100, 25);
		saving2.setBounds(140, 90, 200, 25);
		saving3.setBounds(30, 120, 100, 25);
		saving4.setBounds(140, 120, 200, 25);
		saving5.setBounds(30, 150, 100, 25);
		saving6.setBounds(140, 150, 200, 25);
		saving7.setBounds(30, 180, 100, 25);
		saving8.setBounds(140, 180, 200, 25);
		saving0.add(saving0sub0);
		saving0.add(saving0sub1);
		saving.add(saving0sub0);
		saving.add(saving0sub1);
		saving.add(saving1);
		saving.add(saving2);
		saving.add(saving3);
		saving.add(saving4);
		saving.add(saving5);
		saving.add(saving6);
		saving.add(saving7);
		saving.add(saving8);
		saving2.setEnabled(false);
		saving4.setEnabled(false);
		saving6.setEnabled(false);
		saving8.setEnabled(false);
		saving0sub0.addActionListener(this);
		saving0sub1.addActionListener(this);
		tabbedpane.addTab("Speichern", saving);
		
		JPanel features = new JPanel();
		features.setLayout(null);
		tabbedpane.addTab("Spezialfunktionen", features);
		
		SettingsFrame.add(tabbedpane, BorderLayout.CENTER);
		
		JButton close = new JButton(new AbstractAction("Schließen") {
			private static final long serialVersionUID = 1L;
			public void actionPerformed(ActionEvent event)
			{
				SettingsFrame.setVisible(false);
				SettingsFrame.dispose();
			}
		});
		SettingsFrame.add(close, BorderLayout.SOUTH);
		
		SettingsFrame.setVisible(true);
	}
	
	public void actionPerformed(ActionEvent event) {
		String command = event.getActionCommand();
		if(command == "In MRF-Dateien speichern") {
			saving2.setEnabled(false);
			saving4.setEnabled(false);
			saving6.setEnabled(false);
			saving8.setEnabled(false);			
		} else if(command == "In MySQL-Datenbank speichern") {
			saving2.setEnabled(true);
			saving4.setEnabled(true);
			saving6.setEnabled(true);
			saving8.setEnabled(true);
		}
	}
}

MfG
DeeDee0815 :cool:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T JRadioButton verknüpfen Java Basics - Anfänger-Themen 1
M Verbesserung für JRadioButton Java Basics - Anfänger-Themen 10
D JRadiobutton reagiert nicht wie gewünscht Java Basics - Anfänger-Themen 3
J 19% Aufschlag per JRadioButton Java Basics - Anfänger-Themen 2
J Probleme beim JRadioButton Java Basics - Anfänger-Themen 2
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2
M JRadioButton Java Basics - Anfänger-Themen 4
J JRadioButton in JTable setzen Java Basics - Anfänger-Themen 4
M GUI - Toggle JRadioButton? Java Basics - Anfänger-Themen 2
A JRadioButton Java Basics - Anfänger-Themen 6
C JSlider und JRadioButton auf Label anzeigen? Java Basics - Anfänger-Themen 10
M JRadioButton keine Instanz von ButtonModel Java Basics - Anfänger-Themen 10
Das Brot Nach .add(JRadioButton) funktioniert der KeyListener nicht mehr Java Basics - Anfänger-Themen 2
H JRadioButton steuert Checkbox Java Basics - Anfänger-Themen 5
S JRadioButton - Wert setzen aus Datenbank Java Basics - Anfänger-Themen 4
A JRadioButton aus Code heraus selectieren. Java Basics - Anfänger-Themen 4
I Unerklärliche Null-Pointer-Exception bei JRadioButton Array Java Basics - Anfänger-Themen 2
O JRadioButton's - Einen aktivieren/ Rest deaktivieren Java Basics - Anfänger-Themen 5
G JRadioButton Objekte zugehörig zu welcher buttongroup Java Basics - Anfänger-Themen 3
H Die Schriftfarbe des JRadioButton festlegen Java Basics - Anfänger-Themen 2
G Zeichen in JRadioButton ersetzen Java Basics - Anfänger-Themen 3
G Status von JRadioButton Java Basics - Anfänger-Themen 5
G JRadioButton Java Basics - Anfänger-Themen 4
T alle JRadioButton deaktivieren Java Basics - Anfänger-Themen 8
P JRadioButton der ButtonGroup nicht sichtbar ? Java Basics - Anfänger-Themen 2
G JSpinner als JRadioButton? Java Basics - Anfänger-Themen 3
X JRadioButton isEnabled() ? Java Basics - Anfänger-Themen 2
J get Methode(boolean) JRadiobutton? Java Basics - Anfänger-Themen 2
R actionPerformed wird nicht ausgeführt Java Basics - Anfänger-Themen 5
F actionPerformed() zur richtigen Zeit Java Basics - Anfänger-Themen 6
D JLabel ändern in actionperformed Java Basics - Anfänger-Themen 2
D KeyListener nicht mehr aktiv nach ActionPerformed Java Basics - Anfänger-Themen 2
S Wie werte vergleichen, die in actionPerformed-Methode hängen ? Java Basics - Anfänger-Themen 4
M Threads Thread.Sleep Problem im Zusammenhang mit GUI/ActionPerformed-Methode Java Basics - Anfänger-Themen 4
J In actionPerformed Zugriff auf öffentlich Methoden der Klasse Java Basics - Anfänger-Themen 4
Z Kann actionPerformed(ActionEvent) nicht überschreiben Java Basics - Anfänger-Themen 8
J Werte an Methode übergeben und gleichzeitig ActionPerformed einbeziehen. Java Basics - Anfänger-Themen 14
M OOP ActionPerformed Methode aus anderer AP aufrufen? Java Basics - Anfänger-Themen 5
M Variablen via actionPerformed mit Buttons ändern Java Basics - Anfänger-Themen 7
R Wie es anstellen das ActionPerformed einen Wert zurückgibt? Java Basics - Anfänger-Themen 8
S Objekt an actionPerformed Methode übergeben Java Basics - Anfänger-Themen 7
A lokale Variable innerhalb "actionPerformed()" Java Basics - Anfänger-Themen 10
S actionPerformed(ActionEvent ev) Java Basics - Anfänger-Themen 4
Houly while Schleife im ActionPerformed Event Java Basics - Anfänger-Themen 8
R ActionPerformed: Methode ausführen Java Basics - Anfänger-Themen 3
0 Fehlermeldung: SteuerungsPanel$ButtonHandler.actionPerformed(Steu erungsPanel.java: Java Basics - Anfänger-Themen 2
R Thread in ActionPerformed-Methode unbekannt? Java Basics - Anfänger-Themen 4
R Wie getText mit actionPerformed verwenden? Java Basics - Anfänger-Themen 3
C actionPerformed(null) Java Basics - Anfänger-Themen 6
D Auf Buttondruck (actionperformed) painten Java Basics - Anfänger-Themen 5
H Frage zur Methode: actionPerformed Java Basics - Anfänger-Themen 2
A ActionPerformed Methode ohne Rückgabewert Java Basics - Anfänger-Themen 12
I actionPerformed funktioniert nicht Java Basics - Anfänger-Themen 13
B Exception Handling in der ActionPerformed-Methode Java Basics - Anfänger-Themen 7
S Java GUI: Probleme mit EventListener und actionPerformed Java Basics - Anfänger-Themen 3
B actionPerformed und ComboBoxen Java Basics - Anfänger-Themen 7
J JMenu + ActionPerformed + ConntentPane Java Basics - Anfänger-Themen 4
D Fehlersuche actionPerformed Java Basics - Anfänger-Themen 6
S actionPerformed und JCheckBox Java Basics - Anfänger-Themen 4
N ActionListener - ActionPerformed - if soure= .... Java Basics - Anfänger-Themen 6
M Übergeben einer Variable an actionPerformed(ActionEvent e)? Java Basics - Anfänger-Themen 5
U actionPerformed - Source verständlich Java Basics - Anfänger-Themen 8
C Problem mit actionPerformed Java Basics - Anfänger-Themen 4
S gleichzeitiges Ansprechen vieler Textfelder Java Basics - Anfänger-Themen 2
T Wenn JFrame Textfelder Hintergrund Grün dann... (if) Java Basics - Anfänger-Themen 3
I Double.ParseDouble 2 Textfelder Java Basics - Anfänger-Themen 1
P Textfelder Java Basics - Anfänger-Themen 3
Jinnai4 Mehrere Textfelder überprüfen Java Basics - Anfänger-Themen 16
P Textfelder in Variablen speichern Java Basics - Anfänger-Themen 13
P JavaFX Textfelder geben immer null zurück Java Basics - Anfänger-Themen 8
N CaretListener: leere Textfelder = Button sperren Java Basics - Anfänger-Themen 11
N Problem bei Zugriff auf Textfelder Java Basics - Anfänger-Themen 6
A Ausgabe von Schleifenergebnissen in Textfelder Java Basics - Anfänger-Themen 9
U Dynmische Textfelder erstellen Java Basics - Anfänger-Themen 8
U Kreis um Textfelder zeichnen Java Basics - Anfänger-Themen 4
M Beim Start Methode laden die Textfelder füllt Java Basics - Anfänger-Themen 5
B 2 Textfelder Enter Taste Java Basics - Anfänger-Themen 3
S List angaben in textfelder Java Basics - Anfänger-Themen 7
M Feld übergeben & dann Werte in TextFelder schreiben Java Basics - Anfänger-Themen 4
N Frage zu Listener für Textfelder Java Basics - Anfänger-Themen 5
T Textfelder und ComboBoxen anderst anordnen? Java Basics - Anfänger-Themen 4
Antoras mit ActionListener/Methodenaufruf Textfelder zeichnen Java Basics - Anfänger-Themen 4
D Erstellte Textfelder in Applet mit Tab - Taste anspringen Java Basics - Anfänger-Themen 3
G Mehrere Textfelder zusammenfassen Java Basics - Anfänger-Themen 4
P Auf Textfelder einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 2
M Zugriff auf Textfelder über Referenzen? Java Basics - Anfänger-Themen 3
H Textfelder Java Basics - Anfänger-Themen 12
M Textfelder mit Schleife deklarieren? Java Basics - Anfänger-Themen 33
G Rahmen um 5 Textfelder Java Basics - Anfänger-Themen 4
G Anzahl Textfelder zur Laufzeit verändern. Java Basics - Anfänger-Themen 4
P Anordnung Textfelder untereinander? Java Basics - Anfänger-Themen 16
E Textfelder vergrößern Java Basics - Anfänger-Themen 11
C Textfelder auslesen Java Basics - Anfänger-Themen 3
G Änderungen in TextFelder feststellen Java Basics - Anfänger-Themen 4
G textfelder lassen sich nicht anwählen Java Basics - Anfänger-Themen 10
J Hintergrundfarbe für Textfelder Java Basics - Anfänger-Themen 4
M TextFelder synchronisieren Java Basics - Anfänger-Themen 14
D Suche ActionListener und Formatierung für Textfelder Java Basics - Anfänger-Themen 4
M Textfelder aus Array verändern Java Basics - Anfänger-Themen 3
M Viele Textfelder auslesen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben