我有一個JTabbedPane和一個JTextArea,我希望Textareas/Panes調整窗口大小以適應窗口大小。我該怎麼做呢?我也很模糊,如果它是正確的文本組件使用。我應該使用哪個Java文本組件來調整大小以適應調整大小的框架?
真的被困住了。
編輯:我設置顯式大小爲一個愚蠢的啞巴。我已經完成了所有工作。我所做的是將JScrollPane的視口設置爲JTextArea,並刪除所有明確的大小。
謝謝!
我有一個JTabbedPane和一個JTextArea,我希望Textareas/Panes調整窗口大小以適應窗口大小。我該怎麼做呢?我也很模糊,如果它是正確的文本組件使用。我應該使用哪個Java文本組件來調整大小以適應調整大小的框架?
真的被困住了。
編輯:我設置顯式大小爲一個愚蠢的啞巴。我已經完成了所有工作。我所做的是將JScrollPane的視口設置爲JTextArea,並刪除所有明確的大小。
謝謝!
您可以使用任何您喜歡的組件。所有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)添加任何內容,因此中心的組件將佔據整個空間。
每個JComponent都會在其所在容器調整大小時自動調整大小。
這不是一個正確的組件問題,但更多的是使用哪個LayoutManager。 將組件添加到容器時,可以設置最小大小,默認大小和最大大小。
在調整容器大小時,組件將自動縮放,直到達到所需的最大大小。
如果您需要代碼片段,請告訴我,稍後我會啓動我的IDE。
歡呼
編輯:jjnguy打我吧..然後NVM:P
這是不是100%正確。 – jjnguy 2010-11-15 15:42:09