2017-07-22 3 views
0

Ich habe 5 identische Panels in meinem Registerkartenfenster und sie haben eine Tastengruppe von 4 Radiobuttons. Wenn ich eines der d Buttons in einem Panel auswähle und zum nächsten Panel, das ausgewählt wurde auf d wird das vorherige Fenster automatisch ausgewählt. Wenn ich also Option B für eine Frage auswähle, wenn ich zu allen anderen Fragen navigiere, ist diese Option ausgewählt. Ich habe nur ein Panel mit GUI-Builder erstellt, die anderen werden programmatisch erstellt, um mit dem ersten identisch zu sein. Die geringste Hilfe würde geschätzt werdenJRadiobuttons werden automatisch ausgewählt

+1

einige Code anzeigen. Klingt so, als würden Sie für jedes Panel dieselbe "ButtonGroup" -Referenz verwenden, aber das ist nur eine Vermutung. Wenn das der Fall ist, löschen Sie entweder die Auswahl über ['ButtonGroup # clearSelection()'] (https://docs.oracle.com/javase/7/docs/api/javax/swing/ButtonGroup.html#clearSelection()) oder verwenden Sie für jedes Panel eine andere 'ButtonGroup'. –

+0

Wie kann ich verschiedene Schaltflächengruppen verwenden? – Fabusuyi012

Antwort

0

Überprüfen Sie dies. Ich habe einen Rahmen mit 2 Registerkarten und 2 Radiobuttons gemacht. Sie können weitere Felder und Schaltflächen hinzufügen. Wählen Sie eine Schaltfläche aus der Registerkarte 1 und sie wird nicht automatisch auf der Registerkarte 2 ausgewählt. Auf der Registerkarte 2 können Sie eine neue Auswahl treffen.

public class test { 

JRadioButton r1 = new JRadioButton("radio1");; 
JRadioButton r2 = new JRadioButton("radio2"); 
ButtonGroup bg = new ButtonGroup(); 
JTabbedPane tab = new JTabbedPane(); 
JPanel panel1 = new JPanel(); 
JPanel panel2 = new JPanel(); 

public test() { 

bg.add(r1); 
bg.add(r2); 
panel1.add(r1); 
panel1.add(r2); 
r1 = new JRadioButton("radio1"); 
r2 = new JRadioButton("radio2"); 
panel2.add(r1); 
panel2.add(r2); 
tab.addTab("tab1", panel1); 
tab.addTab("tab2", panel2); 
JFrame frame = new JFrame(); 
frame.setContentPane(tab); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.pack(); 
frame.setVisible(true); 
} 

public static void main(String[] args) { 
new test(); 
} 
} 

Hoffe, es hilft Ihnen :)

+0

Danke Bhavna, ich muss es mit einigen Wiederverwendbarkeitsprinzipien beheben, wir müssen eigentlich keine Registerkarte für jeden Radiobutton erstellen. Ein einzelner Bereich und ein Radiobutton mit tun, wenn wir Datenstrukturen adäquat verwenden. Ich konnte es in Swing implementieren und jetzt, wo ich JavaFX mache, habe ich es auch implementiert. Es tut uns leid, dass wir zu spät kommen, danke – Fabusuyi012

Verwandte Themen