[英]How to maximize a the height of a JFrame?
Windows不支持myFrame.setExtendedState(JFrame.MAXIMIZED_VERT);
。
因此,我尝试获取屏幕尺寸并使JFrames高度与屏幕高度一样大。 但随后涵盖了Windows任务栏。
还有其他方法可以垂直最大化我的JFrame吗?
谢谢,
esanits
尝试一下,哥们:
Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets(t.getGraphicsConfiguration());
int taskHeight=screenInsets.bottom;
System.out.println(taskHeight);
这是获取有关窗口和框架的基本信息的一种方法:
import java.awt.*;
import javax.swing.*;
public class FrameInfo
{
public static void main(String[] args)
{
String laf = "javax.swing.plaf.metal.MetalLookAndFeel";
// laf = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
// laf = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
// try { UIManager.setLookAndFeel( laf ); }
// catch (Exception e) { System.out.println(e); }
// JFrame.setDefaultLookAndFeelDecorated(true);
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
Rectangle bounds = env.getMaximumWindowBounds();
System.out.println("Screen Bounds: " + bounds );
GraphicsDevice screen = env.getDefaultScreenDevice();
GraphicsConfiguration config = screen.getDefaultConfiguration();
System.out.println("Screen Size : " + config.getBounds());
System.out.println(Toolkit.getDefaultToolkit().getScreenSize());
JFrame frame = new JFrame("Frame Info");
System.out.println("Frame Insets : " + frame.getInsets() );
frame.setSize(200, 200);
// frame.pack();
System.out.println("Frame Insets : " + frame.getInsets() );
frame.setVisible( true );
System.out.println("Frame Size : " + frame.getSize() );
System.out.println("Frame Insets : " + frame.getInsets() );
System.out.println("Content Size : " + frame.getContentPane().getSize() );
}
}
我不确定这是否是最好的方法,但是对我有用。
Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets(mainScreen.getGraphicsConfiguration());
int taskHeight=screenInsets.bottom;
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
mainScreen.setSize(d.width/2, d.height - taskHeight);
mainScreen.setLocation(d.width/2, 0);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.