SubMenu.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
An example of a (non-functional) submenu.
*/
class SubMenu extends JFrame
{
// Just plop the main() method right in the frame class...
public static void main(String argv[])
{
SubMenu f = new SubMenu();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
}
public SubMenu()
{
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension ss = kit.getScreenSize();
setSize(ss.width/3,ss.height/6);
setLocation(ss.width/4,ss.height/4);
setTitle("CISC370-011 -- simple menu demo");
ButtonPanel sp = new ButtonPanel();
Container contentPane = getContentPane();
contentPane.add(sp);
JMenuBar mbar = new JMenuBar();
setJMenuBar(mbar);
JMenu fileMenu = new JMenu("File");
mbar.add(fileMenu);
JMenuItem exitItem = new JMenuItem("Exit");
fileMenu.add(exitItem);
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{ System.exit(0); }
});
JMenu optionsMenu = new JMenu("Options");
JMenuItem redOption = new JMenuItem("Red");
JMenuItem yellowOption = new JMenuItem("Yellow");
JMenuItem greenOption = new JMenuItem("Green");
optionsMenu.add(redOption);
optionsMenu.add(yellowOption);
optionsMenu.add(greenOption);
fileMenu.addSeparator();
fileMenu.add(optionsMenu);
}
}
class ButtonPanel extends JPanel
{
public ButtonPanel() {
mkButton("Red",Color.RED);
mkButton("Yellow",Color.YELLOW);
mkButton("Green",Color.GREEN);
}
void mkButton(String name,final Color bg) {
JButton jb = new JButton(name);
add(jb);
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{ setBackground(bg); }
});
}
}