import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class MenuLook {
public JMenuBar createMenuBar() {
JMenuBar menuBar = new JMenuBar(); //Create the menu bar.
menuBar.add(createFileMenu());
menuBar.add(createActionMenu());
menuBar.add(createHelpMenu());
return menuBar;
}
public JMenu createFileMenu() {
JMenu file = new JMenu("File");
file.setMnemonic(KeyEvent.VK_F);
//Group of 'File' JMenuItems
JMenuItem fileItem1 = new JMenuItem("Reset", KeyEvent.VK_R);
JMenuItem fileItem2 = new JMenuItem("Exit", KeyEvent.VK_R);
file.add(fileItem1);
file.addSeparator();
file.add(fileItem2);
return file;
}
public JMenu createActionMenu() {
JMenu action = new JMenu("Action");
action.setMnemonic(KeyEvent.VK_A);
//Group of 'Action' JMenuItems
JMenuItem actionItem1 = new JMenuItem("Add Pot");
JMenuItem actionItem2 = new JMenuItem("Add Ground");
JMenuItem actionItem3 = new JMenuItem("Add Water");
JMenuItem actionItem4 = new JMenuItem("Remove Pot");
JMenuItem actionItem5 = new JMenuItem("Remove Ground");
JMenuItem actionItem6 = new JMenuItem("Remove Water");
JMenuItem actionItem7 = new JMenuItem("Brew");
action.add(actionItem1);
action.add(actionItem2);
action.add(actionItem3);
action.addSeparator();
action.add(actionItem4);
action.add(actionItem5);
action.add(actionItem6);
action.addSeparator();
action.add(actionItem7);
return action;
}
public JMenu createHelpMenu() {
JMenu help = new JMenu("Help");
help.setMnemonic(KeyEvent.VK_H);
//Group of 'help' JMenuItems
JMenuItem helpItem1 = new JMenuItem("About BM Simulator");
help.add(helpItem1);
return help;
}
public Container createContentPane() {
//Create the content-pane-to-be.
JPanel contentPane = new JPanel(new BorderLayout());
//contentPane.setOpaque(true);
//Create a scrolled text area.
JTextArea output = new JTextArea(5, 30);
output.setEditable(true);
JScrollPane scrollPane = new JScrollPane(output);
//Add the text area to the content pane.
contentPane.add(scrollPane, BorderLayout.CENTER);
contentPane.add(createWestPanel(), BorderLayout.WEST);
contentPane.add(createSouthPanel(), BorderLayout.SOUTH);
return contentPane;
}
public JPanel createWestPanel() {
JPanel westPanel = new JPanel(new BorderLayout()); //Probably not appropriate Layout
//Panels inside 'westPanel'
JPanel addActionPanel = new JPanel(new GridLayout(3,1,10,10));
JPanel removeActionPanel = new JPanel(new GridLayout(3,1,10,10));
JPanel brewActionPanel = new JPanel(new GridLayout(1,1,10,10));
TitledBorder addActionBorder = new TitledBorder("Add Action");
TitledBorder removeActionBorder = new TitledBorder("Remove Action");
TitledBorder brewActionBorder = new TitledBorder("Brew Action");
JButton b1 = new JButton("Add Pot");
JButton b2 = new JButton("Add Ground");
JButton b3 = new JButton("Add Water");
JButton b4 = new JButton("Remove Pot");
JButton b5 = new JButton("Remove Ground");
JButton b6 = new JButton("Remove Water");
JButton b7 = new JButton("Brew");
addActionPanel.add(b1);
addActionPanel.add(b2);
addActionPanel.add(b3);
addActionPanel.setBorder(addActionBorder);
removeActionPanel.add(b4);
removeActionPanel.add(b5);
removeActionPanel.add(b6);
removeActionPanel.setBorder(removeActionBorder);
brewActionPanel.add(b7);
brewActionPanel.setBorder(brewActionBorder);
//Assign Panels to 'westPanel'
westPanel.add(addActionPanel, BorderLayout.PAGE_START);
westPanel.add(removeActionPanel, BorderLayout.CENTER); //Problem With this line
westPanel.add(brewActionPanel, BorderLayout.PAGE_END);
return westPanel;
}
public JPanel createSouthPanel() {
JPanel southPanel = new JPanel();
JLabel statusBar = new JLabel("This test");
statusBar.setText("Testing");
southPanel.add(statusBar);
return southPanel;
}
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("Bovinetine Maker Simulator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
//Create and set up the content pane.
MenuLook demo = new MenuLook();
frame.setJMenuBar(demo.createMenuBar());
frame.setContentPane(demo.createContentPane());
//Display the window.
frame.setSize(640,380);
frame.setVisible(true);
}
public static void main(String[] args) {
createAndShowGUI();
}
}