Est-ce que quelqu'un sait comment maximiser un JFrame une fois qu'une action spécifique s'est produite? Je vais poster mon code ci-dessous, je suis un démon de ne pas commenter mon code (je le ferai à un moment donné) mais il devrait être assez explicite. Ce que j'essayais de faire était de maximiser le cadre une fois l'option sélectionnée dans le menu. Si quelqu'un peut me dire comment j'ai besoin de modifier mon code pour le retirer, ce serait grandement apprécié.Maximiser un JFrame en action?
Merci!
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();
}
});
}
}