Fenêtre JFrame Agrandir

Je réalise une animation rapide et sale en utilisant le swing. Je voudrais que la fenêtre soit maximisée. Comment puis je faire ça?

A condition que vous étendiez JFrame:

public void run() { MyFrame myFrame = new MyFrame(); myFrame.setVisible(true); myFrame.setExtendedState(myFrame.getExtendedState() | JFrame.MAXIMIZED_BOTH); } 

Quelque chose comme this.setExtendedState(this.getExtendedState() | this.MAXIMIZED_BOTH);

 import java.awt.*; import javax.swing.*; public class Test extends JFrame { public Test() { GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); this.setMaximizedBounds(env.getMaximumWindowBounds()); this.setExtendedState(this.getExtendedState() | this.MAXIMIZED_BOTH); } public static void main(Ssortingng[] args) { JFrame.setDefaultLookAndFeelDecorated(true); Test t = new Test(); t.setVisible(true); } } 

Si vous utilisez un JFrame, essayez ceci

 JFrame frame = new JFrame(); //... frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 

Que diriez-vous de JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH) ?

Cette page peut vous aider

Maximisation de JFrame

j’aime cette version:

 import java.awt.Dimension; import java.awt.GraphicsConfiguration; import java.awt.Toolkit; import javax.swing.JFrame; public class Test { public static void main(Ssortingng [] args) { final JFrame frame = new JFrame(); final GraphicsConfiguration config = frame.getGraphicsConfiguration(); final int left = Toolkit.getDefaultToolkit().getScreenInsets(config).left; final int right = Toolkit.getDefaultToolkit().getScreenInsets(config).right; final int top = Toolkit.getDefaultToolkit().getScreenInsets(config).top; final int bottom = Toolkit.getDefaultToolkit().getScreenInsets(config).bottom; final Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); final int width = screenSize.width - left - right; final int height = screenSize.height - top - bottom; frame.setResizable(false); frame.setSize(width,height); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } 

J’ai fini par utiliser ce code:

 public void setMaximized(boolean maximized){ if(maximized){ DisplayMode mode = this.getGraphicsConfiguration().getDevice().getDisplayMode(); Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(this.getGraphicsConfiguration()); this.setMaximizedBounds(new Rectangle( mode.getWidth() - insets.right - insets.left, mode.getHeight() - insets.top - insets.bottom )); this.setExtendedState(this.getExtendedState() | JFrame.MAXIMIZED_BOTH); }else{ this.setExtendedState(JFrame.NORMAL); } } 

Ces options fonctionnaient au mieux de toutes les options, y compris la prise en charge de plusieurs moniteurs. Le seul défaut est que le décalage de la barre des tâches est utilisé sur tous les moniteurs.