import javax.swing.*; import java.awt.*; import java.awt.event.*; public class StyleGUI { private final int WIDTH = 300, HEIGHT = 100, FONT_SIZE = 36; private JLabel saying; private JCheckBox bold, italic; private JPanel primary; public StyleGUI() { saying = new JLabel ("Say it with style!"); saying.setFont(new Font ("Helvetica", Font.PLAIN, FONT_SIZE)); bold = new JCheckBox ("Bold"); bold.setBackground (Color.cyan); italic = new JCheckBox ("Italic"); italic.setBackground (Color.cyan); StyleListener listener = new StyleListener(); bold.addItemListener (listener); italic.addItemListener (listener); primary = new JPanel(); primary.add (saying); primary.add (bold); primary.add (italic); primary.setBackground(Color.cyan); primary.setPreferredSize (new Dimension(WIDTH, HEIGHT)); } public JPanel getPanel() { return primary; } private class StyleListener implements ItemListener { public void itemStateChanged (ItemEvent event) { int style = Font.PLAIN; if (bold.isSelected()) style = Font.BOLD; if (italic.isSelected()) style += Font.ITALIC; saying.setFont (new Font ("Helvetica", style, FONT_SIZE)); } } } import javax.swing.*; public class StyleOptions { public static void main(String[] args) { JFrame styleFrame = new JFrame("Style Options"); styleFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); StyleGUI GUI = new StyleGUI(); styleFrame.getContentPane().add(GUI.getPanel()); styleFrame.pack(); styleFrame.show(); } }