我遇到了JFrame大小的問題:Java - 設置裝飾JFrame的大小
我想在Jframe中顯示內容。內容的尺寸爲640 x 480.但我無法使用方法JFrame.setSize(640, 480);
,因爲我也想顯示窗口的裝飾。 我的第一個想法是:添加一個首選維的面板,並使用pack();.但是這也行不通 - 我只得到一個非常小的窗口。
我認爲,解決我的問題可能與此類似:
這裏是我的代碼:
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Fenster extends JFrame {
JPanel panel;
Dimension dim;
Fenster(){
dim = new Dimension(640, 480);
panel = new JPanel();
panel.setSize(dim);
panel.setMinimumSize(dim);
panel.setMaximumSize(dim);
panel.setPreferredSize(dim);
panel.setBounds(0, 0, 640, 480);
panel.setDoubleBuffered(true);
JLabel label = new JLabel("bla");
panel.add(label);
this.setLayout(null);
this.getContentPane().add(panel);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.pack();
this.setVisible(true);
}
}
' this.setLayout(null);'是你的問題。讓佈局經理做它的工作 – MadProgrammer 2014-11-05 23:56:13
以前你提到的問題並不是完全相同的問題,或者至少被接受的解決方案是不正確的...... – MadProgrammer 2014-11-06 00:04:56
*「我的第一個想法是:添加一個面板與優先維度和比使用包();「*你的第一個想法是正確的(如在最佳實踐中,可以使工作)。我會堅持搞清楚它爲什麼失敗。 – 2014-11-06 00:12:00