📄 quotegui.java
字号:
//********************************************************************
// QuoteGUI.java Author: Lewis/Loftus
//
// Represents the user interface for the QuoteOptions program.
//********************************************************************
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class QuoteGUI
{
private final int WIDTH = 300, HEIGHT = 100;
private JPanel primary;
private JLabel quote;
private JRadioButton comedy, philosophy, carpentry;
private String comedyQuote = "Take my wife, please.";
private String philosophyQuote = "I think, therefore I am.";
private String carpentryQuote = "Measure twice. Cut once.";
//-----------------------------------------------------------------
// Sets up a panel with a label and a set of radio buttons
// that control its text.
//-----------------------------------------------------------------
public QuoteGUI()
{
quote = new JLabel (comedyQuote);
quote.setFont (new Font ("Helvetica", Font.BOLD, 24));
comedy = new JRadioButton ("Comedy", true);
comedy.setBackground (Color.green);
philosophy = new JRadioButton ("Philosophy");
philosophy.setBackground (Color.green);
carpentry = new JRadioButton ("Carpentry");
carpentry.setBackground (Color.green);
ButtonGroup group = new ButtonGroup();
group.add (comedy);
group.add (philosophy);
group.add (carpentry);
QuoteListener listener = new QuoteListener();
comedy.addActionListener (listener);
philosophy.addActionListener (listener);
carpentry.addActionListener (listener);
primary = new JPanel();
primary.add (quote);
primary.add (comedy);
primary.add (philosophy);
primary.add (carpentry);
primary.setBackground (Color.green);
primary.setPreferredSize (new Dimension(WIDTH, HEIGHT));
}
//-----------------------------------------------------------------
// Returns the primary panel containing the GUI.
//-----------------------------------------------------------------
public JPanel getPanel()
{
return primary;
}
//*****************************************************************
// Represents the listener for all radio buttons
//*****************************************************************
private class QuoteListener implements ActionListener
{
//--------------------------------------------------------------
// Sets the text of the label depending on which radio
// button was pressed.
//--------------------------------------------------------------
public void actionPerformed (ActionEvent event)
{
Object source = event.getSource();
if (source == comedy)
quote.setText (comedyQuote);
else
if (source == philosophy)
quote.setText (philosophyQuote);
else
quote.setText (carpentryQuote);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -