在Java中,是否可以獲得JFrame的寬度和高度而不使用標題和其他邊框?JFrame:獲取大小無邊界?
frame.getWidth()和frame.getHeight()1似乎返回包含邊框的寬度。
謝謝。
在Java中,是否可以獲得JFrame的寬度和高度而不使用標題和其他邊框?JFrame:獲取大小無邊界?
frame.getWidth()和frame.getHeight()1似乎返回包含邊框的寬度。
謝謝。
frame.getContentPane().getSize();
frame.pack();
System.out.println("frame width : "+getWidth());
System.out.println("frame height: "+getHeight());
System.out.println("content pane width : "+getContentPane().getWidth());
System.out.println("content pane height: "+getContentPane().getHeight());
System.out.println("width of left + right borders: "+(getWidth()-getContentPane().getWidth()));
System.out.println("height of top + bottom borders: "+(getHeight()-getContentPane().getHeight()));
這工作得很好
frame.getContentPane().getSize();
但如果你還沒有添加的內容呢。就我而言,我想在添加內容之前計算JFrame的內部維度,以便相應地分割內容。這是我想出來的。
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
pack(); // Need this, otherwise insets() show as 0.
int scrW = (int)screenSize.getWidth();
int scrH = (int)screenSize.getHeight();
int innerW = scrW - getInsets().left - getInsets().right;
int innerH = scrH - getInsets().top - getInsets().bottom;
// Need to setSize(), otherwise pack() will collapse the empty JFrame
setSize(scrW, scrH);
謝謝! frame.pack();應該在此命令之前存在。否則,它將返回(0; 0)。 – rzaaeeff 2016-02-21 15:13:04