JFrame layout mit radio-buttons
Dies ist mein code:
frame2 = new JFrame("Confirmation");
frame2.setLayout(new BorderLayout());
JRadioButton y,n,c;
panel = new JPanel();
ButtonGroup buttonGroup = new ButtonGroup();
y = new JRadioButton("Add");
buttonGroup.add(y);
panel.add(y);
n = new JRadioButton("Update");
buttonGroup.add(n);
panel.add(n);
c = new JRadioButton("Delete");
buttonGroup.add(c);
panel.add(c);
y.setSelected(true);
b1=new JButton();
b1.setBounds(300,100,2,2);
b1.setIcon(new ImageIcon(searchresult.class.getResource("/images/yes.png")));
b2=new JButton();
b2.setBounds(100,10,2,2);
b2.setIcon(new ImageIcon(searchresult.class.getResource("/images/no.png")));
panel.add(b1);
panel.add(b2);
frame2.add(panel);
frame2.setSize(182,150);
frame2.setVisible(true);
Recht jetzt dieses gibt mir folgende Ausgabe
in der Erwägung, dass möchte ich dieses
mit einer erhöhten Breite, aber ich bin nicht in der Lage, es zu tun..Könnte jemand mir mit weiteren details, die mir helfen könnten
- Nichts für ungut, aber der code ist sowas von ein Dorn im Auge. Sollten Sie Modularisieren/reorganisieren es.
- dies ist nicht der eigentliche code.Nur ein Beispiel
- Dennoch, die einfacher, Ihren code zu Lesen/verstehen, desto wahrscheinlicher wird es sein, Ihre Frage zu beantworten. Plus, es ist einfach eine gute Praxis.
- Werde ich im Hinterkopf behalten.Aber könnten Sie mir keine Lösung
Du musst angemeldet sein, um einen Kommentar abzugeben.
JPanel
verwendet eineFlowLayout
standardmäßig, die, wie der name schon sagt, Lay-out-Komponenten eine nach der nach in eine Strömung...Zwei Möglichkeiten. Verwenden Sie einen compound-layout, mit
BorderLayout
als Basis, erstellenJPanel
verwendet, die eineGridLayout
für die radio-buttons (mit0
Zeilen und1
Spalte), fügen Sie diese an dieCENTER
position der Frontplatte.Erstellen Sie eine zweite
JPanel
mit einemFlowLayout
und Ihre Tasten, um es. Fügen Sie diese an dieSOUTH
position der base-Bereich.Zweite Wahl ist, um einen
GridBagLayout
Werfen Sie einen Blick auf Auslegen von Komponenten innerhalb eines Containers für mehr details