Hey all,
Does anyone know how to maximize a JFrame once a specfic action has occured? I'll post my code below, I'm a fiend for not commenting my code (I'll do it at some point) but it should be fairly self explanitory. What I was trying to do was to get the frame to maximize once the option was selected from the menu. If anyone can tell me how I need to edit my code to pull this off, it would be greatly appreciated.
Thanks!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.ButtonGroup;
import javax.swing.JMenuBar;
import javax.swing.KeyStroke;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JFrame;
public class MainMenu implements ActionListener {
JTextArea output;
JScrollPane scrollPane;
String newline = "\n";
MapMenu maps = new MapMenu();
public JMenuBar createMenuBar() {
JMenuBar menuBar;
JMenu menu;
JMenuItem menuItem;
JMenuItem minOption, maxOption;
//Create the menu bar.
menuBar = new JMenuBar();
//Build the first menu.
menu = new JMenu("File");
menu.setMnemonic(KeyEvent.VK_A);
menu.getAccessibleContext().setAccessibleDescription("For window operations");
menuBar.add(menu);
minOption = new JMenuItem("Minimize", KeyEvent.VK_T);
minOption.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));
minOption.getAccessibleContext().setAccessibleDescription("Will minimize window");
minOption.setActionCommand("Minimize");
minOption.addActionListener(this);
menu.add(minOption);
maxOption = new JMenuItem("Maximize", KeyEvent.VK_T);
maxOption.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
maxOption.getAccessibleContext().setAccessibleDescription("Will maximize window");
maxOption.setActionCommand("Maximize");
maxOption.addActionListener(this);
menu.add(maxOption);
menuItem = new JMenuItem("Exit", KeyEvent.VK_T);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3, ActionEvent.ALT_MASK));
menuItem.getAccessibleContext().setAccessibleDescription("Will close window");
menuItem.addActionListener(this);
menu.add(menuItem);
//Build second menu in the menu bar.
menu = new JMenu("Pages");
menu.setMnemonic(KeyEvent.VK_N);
menu.getAccessibleContext().setAccessibleDescription("For accessing other pages");
menuBar.add(menu);
menuItem = new JMenuItem("Date Calculator", KeyEvent.VK_T);
menuItem.getAccessibleContext().setAccessibleDescription("Opens date calculator");
menuItem.addActionListener(this);
menu.add(menuItem);
menuItem = new JMenuItem("Maps", KeyEvent.VK_T);
menuItem.getAccessibleContext().setAccessibleDescription("Opens popular maps");
menuItem.addActionListener(this);
menu.add(menuItem);
menuItem = new JMenuItem("Points System", KeyEvent.VK_T);
menuItem.getAccessibleContext().setAccessibleDescription("Opens points chart");
menuItem.addActionListener(this);
menu.add(menuItem);
menuItem = new JMenuItem("Foreign Language Re-targets", KeyEvent.VK_T);
menuItem.getAccessibleContext().setAccessibleDescription("Opens LPS Lists");
menuItem.addActionListener(this);
menu.add(menuItem);
//Build third menu in the menu bar.
menu = new JMenu("Resources");
menu.setMnemonic(KeyEvent.VK_N);
menu.getAccessibleContext().setAccessibleDescription("For external resources");
menuBar.add(menu);
menuItem = new JMenuItem("Helpful Sites", KeyEvent.VK_T);
menuItem.getAccessibleContext().setAccessibleDescription("Opens website links");
menuItem.addActionListener(this);
menu.add(menuItem);
//Build fourth menu in the menu bar.
menu = new JMenu("Help");
menu.setMnemonic(KeyEvent.VK_N);
menu.getAccessibleContext().setAccessibleDescription("For help pages");
menuBar.add(menu);
menuItem = new JMenuItem("How To Use", KeyEvent.VK_T);
menuItem.getAccessibleContext().setAccessibleDescription("Opens tutorial for AAA");
menuItem.addActionListener(this);
menu.add(menuItem);
menuItem = new JMenuItem("About", KeyEvent.VK_T);
menuItem.getAccessibleContext().setAccessibleDescription("Opens information about AAA");
menuItem.addActionListener(this);
menu.add(menuItem);
menuItem = new JMenuItem("Update", KeyEvent.VK_T);
menuItem.getAccessibleContext().setAccessibleDescription("Opens website for AAA");
menuItem.addActionListener(this);
menu.add(menuItem);
return menuBar;
}
public Container createContentPane() {
//Create the content-pane-to-be.
JPanel contentPane = new JPanel(new BorderLayout());
contentPane.setOpaque(true);
//Create a scrolled text area.
output = new JTextArea(5, 30);
output.setEditable(false);
scrollPane = new JScrollPane(output);
//Add the text area to the content pane.
contentPane.add(scrollPane, BorderLayout.CENTER);
return contentPane;
}
// Returns just the class name -- no package info.
protected String getClassName(Object o) {
String classString = o.getClass().getName();
int dotIndex = classString.lastIndexOf(".");
return classString.substring(dotIndex+1);
}
/** Returns an ImageIcon, or null if the path was invalid. */
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = MainMenu.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame.setDefaultLookAndFeelDecorated(false);
JFrame frame = new JFrame("Account Appeal Aide");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
MainMenu demo = new MainMenu();
frame.setJMenuBar(demo.createMenuBar());
frame.setContentPane(demo.createContentPane());
//Display the window.
frame.setSize(500, 400);
frame.setVisible(true);
frame.setResizable(false);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int w = frame.getSize().width;
int h = frame.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
frame.setLocation(x, y);
}
public void maximizeFrame(JFrame aFrame) {
aFrame.setExtendedState(aFrame.getExtendedState()|JFrame.MAXIMIZED_BOTH);
}
public void actionPerformed(ActionEvent e) {
if("Minimize".equals(e.getActionCommand())) {
maps.openMapMenu();
}
if("Maximize".equals(e.getActionCommand())) {
//maximizeFrame();
}
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}