2013-10-04 82 views
2

我正在製作一個GUI,我將水平滾動條添加到TextArea中,因爲將在TextArea中顯示的標籤/線條的長度大於TextArea的寬度。在TextArea上添加滾動條

這是我創建窗格的代碼。但似乎沒有發生....

//創建說明文本區域,並添加到主框架

public static JTextArea textArea = new JTextArea(); 
textArea.setEditable(false);           
textArea.setLineWrap(true); 
textArea.setPreferredSize(new Dimension(100,600)); 

scrollpanel = new JScrollPane(textArea);  
scrollpanel.setBounds(20, 600, 920, 130); 
scrollpanel.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
scrollpanel.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 
scrollpanel.setBorder(BorderFactory.createTitledBorder("Description")); 
frmToolToMigrate.getContentPane().add(scrollpanel); 
+0

你必須填寫該區域滾動面板出現 – RamonBoza

+0

我填寫的滾動區域相同,但仍然沒有什麼似乎發生.. – user2845399

+2

1)'textArea.setPreferredSize(新尺寸(100,600)) ;''JTextArea'的大小可以在構造函數中使用的行數和列數中更好地指定。 2)'scrollpanel.setBounds(20,600,920,130);'這樣做(提示大小)可能意味着這個廢話可以繼續。 .. –

回答

3

相反的setBounds(),覆蓋如圖所示here滾動窗格的getPreferredSize()。默認情況下,滾動條將根據需要自動顯示。還要考慮實施Scrollable接口。

image

+0

正如你所說,我嘗試過,但是當我刪除setbound方法並覆蓋滾動窗格的getPreferredsize()時,textArea不會顯示到我的主機中。 – user2845399

+0

確保'pack()'frame_after_在添加組件之前調用'setVisible'。 – trashgod

+0

是啊我確定在添加組件之前添加組件並在setVisible()之前添加組件() – user2845399