2013-10-16 73 views
1

我有一個帶有JPanel的GUI,該面板增加了2個面板。所以我希望這兩個面板中的一個位於幀的最高四分之一處,其中一個應該在幀的另外三個季度,並且其中有一個JTable。但與setBounds方法我不能把他們的權利,我認爲是因爲表。用JTable放置面板

如果有人已經有同樣的問題,可以幫助我,那會很好。

+0

使用IDE GUI生成器將解決你的問題約90%就貴在建設剛剛引入的麻煩一樣(如果你幸運的話)量價 –

+0

@MaciejCygan :-) – kleopatra

回答

1

未經測試,但試試這個。

JPanel p1 = new JPanel(); 
int x = getWidth(); 
int y = getHeight() * 0.25; 
int y2 = getHeight() * 0.75; 
p1.setPreferredSize(new Dimension(x, y); 
p1.add(yourFirsPanel); 

JPanel p2 = new JPanel(); 
p2.setPreferredSize(new Dimension(x, y2); 

JPanel p3 = new JPanel(new BorderLayout()); 
p3.add(p1, BorderLayout(NORTH)); 
p3.add(p2, BorderLayout(CENTER)); 
+0

工作謝謝:) – JUNGE

+1

請參閱[我是否應避免使用Java Swing中的set(Preferred | Maximum | Minimum)大小方法?](http://stackoverflow.com/q/7229226/418556)(**是。**) - OP提供程序圖形用戶界面(或繪圖)的ASCII藝術,因爲它應該以最小尺寸顯示,並且(如果可調整大小)以額外的寬度/高度出現。 –

+0

@JUNGE看起來並不能解決問題是一個真正的解決方案:-)所以,不要,你的佈局很可能會對最輕微的變化吹。相反,請使用合適的LayoutManager。 – kleopatra