Parameter von GUI an Klasse übergeben.

Status
Nicht offen für weitere Antworten.
C

chaosbringer

Gast
Hallo,
ich habe eine GUI mit sehr vielen CheckBoxen gebaut.
Die Zustände der Buttons sollen alle an eine weitere Klasse übergeben werden.
Gibt es das eine elegantere Methode, als für jede CheckBox eine Methode der weiteren Klasse zur Übergabe des CheckBox-Statuses als Parameter zu erstellen und diese bei entsprechendem Event aufzurufen?

Beispiel aus dem Kopf:
Code:
WeitereKlasse mp = new WeitereKlasse();
CheckBox a = new CheckBox("a");
CheckBox b = ne wCheckBox("b");
CheckBox c = new CheckBox("c");
CheckBox d = ne wCheckBox("d");
....

....
public void itemStateChanged(ItemEvent e) {
	if( e.getSource() instanceof JCheckBox ) {
		boolean selected = e.getStateChange() == ItemEvent.SELECTED;
		String s = ((JCheckBox)e.getSource()).getText();
		if( s.equals("a" ))
			mp.setA( selected );
		if( s.equals("b" ))
			mp.setB( selected );
		if( s.equals("c" ))
			mp.setC( selected );
		if( s.equals("d" ))
			mp.setD( selected );
	
	}
}
Ich hoffe, es ist klar, was mich stört. Ich finde es halt blöd, für jede zu übergeben Parameter getter und setter zu definieren. Gibt es da keine elegantere Lösung?
 
B

Beni

Gast
Ja: anstelle von "setA( boolean selected )" eine Methode "set( String name, boolean selected )". Wenn du intern noch ein bisschen mit java.util.Map rumspielst, kannst du unter Umständen darauf verzichten jemals irgendwo all die Parameter zu unterscheiden.
 
W

wayne0101

Gast
nimm ein int-variable anstatt der ganzen true und false werte. definiere zunächst static final int konstanten in einer für alle relevanten klassen zugänglichen klasse (C) in der art:

Code:
public abstract class C {
    public static final int MASK_A = 1;
    public static final int MASK_B = 2;
    public static final int MASK_C = 4;
    public static final int MASK_D = 8;
}

wenn du die werte nun an eine andere klasse übergeben möchtest, also sie von der gui-klasse abfragen willst, mach einfach folgendes:

Code:
public int getSelection(){
    int result = 0;
    if( a.isSelected() ) result |= C.MASK_A;
    if( b.isSelected() ) result |= C.MASK_B;
    if( c.isSelected() ) result |= C.MASK_C;
    if( d.isSelected() ) result |= C.MASK_D;
    return result;
}

zum auslesen brauchst du dann nur noch vergleichen:
Code:
if( (result & C.MASK_A) > 0 ){
    // checkbox a war selektiert
}

wayne
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Daniel_L Swing-Komponenten als Parameter an eine Klasse übergeben? AWT, Swing, JavaFX & SWT 4
J Java Datei durch CMD mit Parameter ausführen AWT, Swing, JavaFX & SWT 1
D JavaFX Ein Parameter von einem Stage(GUI) zu einem anderen übergeben AWT, Swing, JavaFX & SWT 6
S Parameter ändern in try/catch AWT, Swing, JavaFX & SWT 5
A Swing JLabel als Parameter übergeben AWT, Swing, JavaFX & SWT 9
S JTextField parameter unveränderlich AWT, Swing, JavaFX & SWT 9
D JavaFX Interface Initializable - Was machen die Parameter in der Methode inizializeable() ? AWT, Swing, JavaFX & SWT 4
M JavaFX Parameter für Custom Control in FXML übergeben? AWT, Swing, JavaFX & SWT 4
A Swing Parameter werden bei Funktionsaufruf nicht ausgegeben AWT, Swing, JavaFX & SWT 2
M Swing Jtable CellRenderer Parameter uebergeben AWT, Swing, JavaFX & SWT 4
B Java-Applet Parameter übergabe? AWT, Swing, JavaFX & SWT 2
M Swing JButton-Konstruktor Icon-Parameter (Verständnisfrage) AWT, Swing, JavaFX & SWT 7
Furtano AWT setRGB() RGB-Parameter umwandeln? AWT, Swing, JavaFX & SWT 10
W SWT Übergabe Parameter wie in SWT mit "|" AWT, Swing, JavaFX & SWT 5
B Anonymer Klass Parameter übergeben AWT, Swing, JavaFX & SWT 3
A Beschreibung Parameter FormLayout AWT, Swing, JavaFX & SWT 8
V Parameter an Runnable-Objekt übergeben AWT, Swing, JavaFX & SWT 6
M Checkboxen Namen setzten über Parameter => Abfragen? AWT, Swing, JavaFX & SWT 2
N JTable als parameter übergeben AWT, Swing, JavaFX & SWT 4
martinyyyy AWT Parameter erzeugen NullpointerException obwohl sie vorhanden sind? AWT, Swing, JavaFX & SWT 4
Semox Setzen des Layout Managers mittels Override Parameter AWT, Swing, JavaFX & SWT 10
C Parameter übergeben in Eclipse AWT, Swing, JavaFX & SWT 3
F MouseMotionListener und Parameter? AWT, Swing, JavaFX & SWT 4
F Wie gebe ich Parameter zwischen Actions weiter? AWT, Swing, JavaFX & SWT 2
F Parameter aus HTML-Form in Java-App per Post an PHP Script s AWT, Swing, JavaFX & SWT 2
M Parameter übergeben AWT, Swing, JavaFX & SWT 13
L Wie Layout-Parameter ohne add angeben? AWT, Swing, JavaFX & SWT 2
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
_user_q Versionscode aus build.gradle in Java-Klasse ausgeben lassen AWT, Swing, JavaFX & SWT 14
H MouseAdapter Klasse nutzen wenn eigene Klasse bereits von anderer erbt AWT, Swing, JavaFX & SWT 13
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
T JavaFX TableColumn in separate Klasse auslagern AWT, Swing, JavaFX & SWT 7
Monokuma KeyEvent in der Canvas Klasse AWT, Swing, JavaFX & SWT 0
B Was würden Profis an meiner Klasse verbessern? AWT, Swing, JavaFX & SWT 1
B JavaFX Verständnisfrage EventHandler<ActionEvent> Implementierung in meiner Klasse AWT, Swing, JavaFX & SWT 2
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
S Stream API, Anonyme Klasse AWT, Swing, JavaFX & SWT 8
B JavaFX Von welcher Klasse und zu welchem Zeitpunkt werden Event-Objekte erstellt? AWT, Swing, JavaFX & SWT 3
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
F Jtree aus Klasse mit Arraylisten AWT, Swing, JavaFX & SWT 1
L Javafx Controller Klasse in Maven AWT, Swing, JavaFX & SWT 7
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
J Bild von anderer Klasse will nicht laden AWT, Swing, JavaFX & SWT 1
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
ralfb1105 Swing Ausführung einer SwingWorker Klasse stoppen AWT, Swing, JavaFX & SWT 4
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
J JFram Location aus Konstruktor einer anderen Klasse auslesen AWT, Swing, JavaFX & SWT 10
J 2D-Grafik Background Image Klasse AWT, Swing, JavaFX & SWT 14
K Frame aus anderer Klasse schließen AWT, Swing, JavaFX & SWT 3
M Eigene Klasse mit Grafikobjekten schreiben AWT, Swing, JavaFX & SWT 4
0 Swing JTable aus anderer Klasse updaten AWT, Swing, JavaFX & SWT 5
it_is_all Event Handling ActionListener in anderer Klasse klappt nicht AWT, Swing, JavaFX & SWT 4
L JavaFX button über andere Klasse ändern AWT, Swing, JavaFX & SWT 7
K über Button andere Java Klasse aufrufen AWT, Swing, JavaFX & SWT 15
C Nach Aufruf von anderer Klasse streikt Grafik AWT, Swing, JavaFX & SWT 1
S per Button Variableninhalt aus anderer Klasse holen AWT, Swing, JavaFX & SWT 3
F AWT Robot Klasse Screenshot nach Pixelmustern in bestimmten Radius um Bildschirmmittelpunkt absuchen AWT, Swing, JavaFX & SWT 13
K JButton auf anderer Klasse AWT, Swing, JavaFX & SWT 6
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
J JTextfield automatisch aus zweiter Klasse aktualisieren AWT, Swing, JavaFX & SWT 5
J JavaFX Tableview Daten hinzufügen aus anderer Klasse AWT, Swing, JavaFX & SWT 7
Ghostman1711 GUI Java von Klasse mit Application Windows anderes Application Window aufrufen AWT, Swing, JavaFX & SWT 6
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
N JavaFX Erweitern der Line(Shape)-Klasse AWT, Swing, JavaFX & SWT 1
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
7 JavaFX Verwendung einer ResizableCanvas-Klasse in fxml-Datei AWT, Swing, JavaFX & SWT 3
A JavaFX Von Klasse auf Controller Inhalt zugreifen AWT, Swing, JavaFX & SWT 9
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
J Eigene Klasse auf Basis Textfield in SceneBuilder anzeigen AWT, Swing, JavaFX & SWT 4
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
J JavaFX Mehrfache Benutzung von Methoden einer Klasse AWT, Swing, JavaFX & SWT 17
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
N JavaFX GUI Elemente einer anderen (FXML)Klasse ansprechen AWT, Swing, JavaFX & SWT 16
O JTabeddpane aber jedes JPanel als eigene Klasse anlegen AWT, Swing, JavaFX & SWT 7
B Swing GUI in einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 4
B Klasse mit ArrayList AWT, Swing, JavaFX & SWT 1
G Event Handling Event Handling in eigene Klasse AWT, Swing, JavaFX & SWT 4
W Paint-Methode in anderer Klasse funktioniert nicht AWT, Swing, JavaFX & SWT 7
L JavaFX Verständnisfrage zu JavaFX FXML und Controller-Klasse AWT, Swing, JavaFX & SWT 1
T Generische Klasse in JList über DefaultListModel AWT, Swing, JavaFX & SWT 1
D Event Handling Aus einer anderen Klasse heraus einen Text des JLabels ändern. AWT, Swing, JavaFX & SWT 12
F Instanzierung einer inneren Klasse in Klasse eines anderen Packets AWT, Swing, JavaFX & SWT 3
C JavaFX Zugriff auf TextField aus einer anderen Klasse AWT, Swing, JavaFX & SWT 4
A JavaFX Scene Builder eigene Klasse hinzufügen AWT, Swing, JavaFX & SWT 2
S 2 Paint-Methoden in einer Klasse ? AWT, Swing, JavaFX & SWT 2
D JavaFX Controller Klasse splitten? AWT, Swing, JavaFX & SWT 16
S JComboBox aus anderer Klasse füllen (Java-Swing) AWT, Swing, JavaFX & SWT 0
S ActionListener Klasse aufrufen AWT, Swing, JavaFX & SWT 4
M Swing JTextField getText Mehtode übergeben in eine Klasse zu einer Rechnung AWT, Swing, JavaFX & SWT 1
M Panel in geerbter JFrame Klasse adden AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben