package RadioButtonTest; import java.awt.BorderLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.peer.ButtonPeer; import javax.swing.ButtonGroup; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; public class RadioButtonFrame extends JFrame { public RadioButtonFrame() { setTitle("Radio Button Test"); setSize(DEFAULT_WEIGHT,DEFAULT_HEIGHT); //Adaugarea label label = new JLabel("Hai sa sarim in aer."); label.setFont(new Font("Serif",Font.PLAIN,DEFAULT_SIZE)); labelPanel = new JPanel(); labelPanel.add(label); add(labelPanel,BorderLayout.CENTER); //Adaugarea Radio button buttonPanel = new JPanel(); group = new ButtonGroup(); addRadioButton("Small", 8); addRadioButton("Medium", 12); addRadioButton("Large", 18); addRadioButton("Extra Large", 36); add(buttonPanel, BorderLayout.SOUTH); } /** * Adaugarea redio buton, punerea marimii de shrift pentru a afisa labelu * @param name numele label * @param marimea */ public void addRadioButton(String name,final int size) { boolean selected = (size == DEFAULT_SIZE); JRadioButton button = new JRadioButton(name,selected); group.add(button); buttonPanel.add(button); //listnerul pune marimea shriftului ActionListener listner = new ActionListener() { public void actionPerformed(ActionEvent e) { //marimea este egala cu ultimu parametru din metoda addRadioButton() label.setFont(new Font("Serif", Font.PLAIN, size)); } }; button.addActionListener(listner); } public static final int DEFAULT_HEIGHT = 200; public static final int DEFAULT_WEIGHT = 400; public static final int DEFAULT_SIZE = 8; private JLabel label; private ButtonGroup group; private JPanel buttonPanel; private JPanel labelPanel; }