import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import javax.swing.border.TitledBorder;
public class Aufgabe10_03 extends JFrame {
private ButtonGroup gruppe;
private JRadioButton layout1, layout2, layout3, layout4;
private JButton button1, button2, button3, button4, button5,
schaltflaecheAendern, schaltflaecheBeenden;
private JPanel panelRadioButtons, panelschaltflächen;
class MeinListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Aendern")) {
if (layout1.isSelected())
layout1();
}
{
if (layout2.isSelected())
layout2();
}
{
if (layout3.isSelected())
layout3();
}
{
if (layout4.isSelected())
layout4();
}
if (e.getActionCommand().equals("Beenden"))
System.exit(0);
}
}
public Aufgabe10_03(String titel) {
super(titel);
gruppe = new ButtonGroup();
layout1 = new JRadioButton("Layout 1");
layout2 = new JRadioButton("Layout 2");
layout3 = new JRadioButton("Layout 3");
layout4 = new JRadioButton("Layout 4");
gruppe.add(layout1);
gruppe.add(layout2);
gruppe.add(layout3);
gruppe.add(layout4);
// jetzt werden auch die RadioButtons in ein eigenes Panel gesetzt
// das geht ebenfalls nicht für die Gruppe
panelRadioButtons = new JPanel();
panelRadioButtons.add(layout1);
panelRadioButtons.add(layout2);
panelRadioButtons.add(layout3);
panelRadioButtons.add(layout4);
panelRadioButtons.setBorder(new TitledBorder(
"Hier können die das Layout ändern !!! "));
gruppe = new ButtonGroup();
button1 = new JButton("Button1");
button2 = new JButton("Button2");
button3 = new JButton("Button3");
button4 = new JButton("Button4");
button5 = new JButton("Button5");
schaltflaecheAendern = new JButton("Aendern");
schaltflaecheBeenden = new JButton("Beenden");
gruppe.add(button1);
gruppe.add(button2);
gruppe.add(button3);
gruppe.add(button4);
gruppe.add(button5);
gruppe.add(schaltflaecheAendern);
gruppe.add(schaltflaecheBeenden);
panelschaltflächen = new JPanel();
panelschaltflächen.add(button1);
panelschaltflächen.add(button2);
panelschaltflächen.add(button3);
panelschaltflächen.add(button4);
panelschaltflächen.add(button5);
panelschaltflächen.add(schaltflaecheAendern);
panelschaltflächen.add(schaltflaecheBeenden);
setLayout(new GridLayout(2, 2, 10, 10));
add(panelschaltflächen);
add(panelRadioButtons);
// die Standard-Aktion für das Schließen-Symbol setzen
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// das Fenster packen und anzeigen
pack();
setVisible(true);
MeinListener listener = new MeinListener();
layout1.addActionListener(new MeinListener());
schaltflaecheBeenden.addActionListener(listener);
schaltflaecheAendern.addActionListener(listener);
}
public void layout1() {
panelschaltflächen.setLayout(new GridLayout(2, 1));
panelschaltflächen.validate();
panelschaltflächen.repaint();
}
public void layout2() {
panelschaltflächen.setLayout(new GridLayout(3, 2));
panelschaltflächen.validate();
panelschaltflächen.repaint();
}
public void layout3() {
panelschaltflächen.setLayout(new GridLayout(4, 3));
panelschaltflächen.validate();
panelschaltflächen.repaint();
}
public void layout4() {
panelschaltflächen.setLayout(new GridLayout(2, 1));
panelschaltflächen.validate();
panelschaltflächen.repaint();
}
public static void main(String[] args) {
new Aufgabe10_03("Aufgabe 10_03");
}
}