我正在用java寫一個程序GUI。我想要一個JLayeredPane作爲我的JFrame的ContentPane。在我的JLayeredPane上有兩層:一層是Canvas(canvas1),另一層是JPanel(jPanel5)。我使用Netbeans IDE並生成此代碼:Java:JLayeredPane調整大小問題
canvas1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
canvas1.setBounds(0, 0, -1, -1);
jLayeredPane1.add(canvas1, javax.swing.JLayeredPane.PALETTE_LAYER);
jPanel5.setBounds(0, 0, 670, 550);
jLayeredPane1.add(jPanel5, javax.swing.JLayeredPane.DEFAULT_LAYER);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 670, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 553, Short.MAX_VALUE)
);
pack();
當我運行我的程序時,我看到一個奇怪的事件!當我改變JFrame的大小時;主JLayeredPane的大小沒有改變。我使用了不同的backGround顏色作爲組件,對我來說很明顯JLayered的尺寸是永久性的,但是我將它設置爲垂直和水平尺寸的屬性。 JFrame可調整大小,但主要jLayeredPane的大小是永久性的。
如何讓jLayeredPane調整爲我的JFrame?!
謝謝
謝謝但是,在生成的netbeans代碼中添加此代碼是不可行的。我如何設置他的JLayeredPane屬性? – sajad
請勿使用Netbeans生成代碼。閱讀Swing教程(http://download.oracle.com/javase/tutorial/uiswing/TOC.html),其中有大量關於如何創建自己的GUI的示例,因此您不依賴於IDE。 – camickr
一旦你的項目工作,你可以從你的IDE中取出你的源代碼,並調整它以修復你的IDE造成的所有問題。 – Raceimaztion