Windows不支持myFrame.setExtendedState(JFrame.MAXIMIZED_VERT);
。如何最大化JFrame的高度?
所以我試圖獲得屏幕尺寸,並使JFrames的高度與屏幕高度一樣大。但是它涵蓋了Windows任務欄。
是否有任何其他方式來最大化我的JFrame vertcially?
感謝,
esanits
Windows不支持myFrame.setExtendedState(JFrame.MAXIMIZED_VERT);
。如何最大化JFrame的高度?
所以我試圖獲得屏幕尺寸,並使JFrames的高度與屏幕高度一樣大。但是它涵蓋了Windows任務欄。
是否有任何其他方式來最大化我的JFrame vertcially?
感謝,
esanits
這裏有一種方法來獲取有關窗口和框架基本信息:
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(t.getGraphicsConfiguration());
int taskHeight=screenInsets.bottom;
System.out.println(taskHeight);
非常感謝,這個作品 – esanits 2011-03-04 16:22:56
我不確定這是否是最好的方法,但它對我有效...
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);
非常感謝,這個作品 – esanits 2011-03-04 17:11:27