java swing maximize-window

java - Ventana JFrame Maximize



swing maximize-window (7)

¿Qué tal JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH) ?

Estoy armando una animación rápida y sucia usando swing. Me gustaría que la ventana se maximice. ¿Cómo puedo hacer eso?


Algo como 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(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); Test t = new Test(); t.setVisible(true); } }



Si usa un JFrame, intente esto

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


Siempre que esté extendiendo JFrame:

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


Terminé usando este código:

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); } }

Estas opciones funcionaron de la mejor manera posible, incluido el soporte de múltiples monitores. El único defecto que esto tiene es que la compensación de la barra de tareas se usa en todos los monitores en algunas configuraciones.


me gusta esta versión:

import java.awt.Dimension; import java.awt.GraphicsConfiguration; import java.awt.Toolkit; import javax.swing.JFrame; public class Test { public static void main(String [] 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); } }