所以我想製作一個基於Canvas
的Java應用程序。我已經將我的主類擴展到了Canvas
,並且我在它的構造函數中調整了它的大小。Java Canvas白色邊緣
public CanvasApp() {
Dimension size = new Dimension(640, 480);
setSize(size);
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
}
,並在主函數中,我提出一個框架,就像這樣:
CanvasApp cnv = new CanvasApp();
JFrame frame = new JFrame("");
JPanel panel = new JPanel(new BorderLayout());
panel.setBorder(null); //I've tried this
panel.setSize(640,480); //but still doesn't work =(
panel.add(cnv, BorderLayout.CENTER);
frame.setContentPane(panel);
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
但內容窗格將出現在大小650x490。爲什麼是這樣?
我也附上了一張圖片。
I've drew a line from 0,0 to 640,480
如需更快獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。順便說一句 - 不要將基於AWT的「組件」與Swing GUI混合使用。改用'JComponent'。 – 2012-02-08 13:43:49
對不起,那是我的錯。我做了一個Canvas而不是'Component' :) – Rothens 2012-02-08 13:58:51
O ... K在這種情況下,*不要將基於AWT的** Canvas **與Swing GUI混合使用。使用.. * – 2012-02-08 14:41:14