2010-11-15 103 views
2

我有一個JTabbedPane和一個JTextArea,我希望Textareas/Panes調整窗口大小以適應窗口大小。我該怎麼做呢?我也很模糊,如果它是正確的文本組件使用。我應該使用哪個Java文本組件來調整大小以適應調整大小的框架?

真的被困住了。

編輯:我設置顯式大小爲一個愚蠢的啞巴。我已經完成了所有工作。我所做的是將JScrollPane的視口設置爲JTextArea,並刪除所有明確的大小。

謝謝!

回答

3

您可以使用任何您喜歡的組件。所有JComponents都可以使用調整大小的父容器調整大小。你只需要選擇正確的LayoutManager

根據您想要的一切設置,我想你會想你的JTabbedPane的添加到您的JFrame像這樣:

JTabbedPane jtp; 
JFrame frame; 
// JFrame's default layour is border layout. 
frame.add(jtp, BorderLayout.CENTER); 

這將導致JTabbed窗格爲佔用所有的空間JFrame

您還需要將您的JTabbedPane的佈局管理器設置爲BorderLayout,並添加到JTabbedPane的任何標籤都需要有一個BorderLayout

要設置組件的佈局,這樣做:

JComponent anyComponent; 
anyComponent.setLayout(new BorderLayout()); 

看一看的Java LayoutManager tutorials以獲取更多信息。

我應該提到,我建議BorderLayout的原因是因爲任何添加到BorderLayout的CENTER的組件都會自動佔用任何邊界不佔用的空間。而且,由於您沒有向其他任何邊界(NORTH,SOUTH,EAST,WEST)添加任何內容,因此中心的組件將佔據整個空間。

1

每個JComponent都會在其所在容器調整大小時自動調整大小。

這不是一個正確的組件問題,但更多的是使用哪個LayoutManager。 將組件添加到容器時,可以設置最小大小,默認大小和最大大小。

在調整容器大小時,組件將自動縮放,直到達到所需的最大大小。

如果您需要代碼片段,請告訴我,稍後我會啓動我的IDE。

歡呼

編輯:jjnguy打我吧..然後NVM:P

+2

這是不是100%正確。 – jjnguy 2010-11-15 15:42:09

相關問題