2012-12-09 49 views
4

我想在的borderlayout(西部)設置首選寬度爲JScrollPane的。但它不工作如何設置preferedsize JTree的JScrollPane的中

請看看我的示例代碼

JTree tree=new JTree(root); 
JScrollPane jsp=newJScrollPane(tree); 
jsp.setBounds(0,0,200,100); 
Jframe.add(jsp,BorderLayout.WEST); 

但顯示默認寬度。

或者我試圖設置JTree的首選大小,它工作正常,但jscrollpane無法正常工作。請在此幫助我。

+1

1)首選高度,請參見['JTree.setVisibleRowCount(int)'](http://docs.oracle.com/javase/7/docs/api/javax/swing/JTree.html#setVisibleRowCount% 28int%29)。 2)*「關於 克里希納」*不要在問候語中使用四行問題。 –

回答

2

根據組件的大小(最小/最大/首選)確定組件位置的佈局管理器。因此,您撥打setBounds將被忽略,而BorderLayout將確定它放置組件的位置。

通常這種機制工作得很好。 JScrollPane的問題在於它的大小提示可能與您想要的行爲不同步(因爲滾動窗格可能有滾動條,因此它可以確定它自己的大小)。

解決方案:在添加它之前,在JScrollPane上調用setPreferredSize。這也是在official tutorial中完成的,大約我唯一能想到的是,稱這種方法是可以接受的。

+0

感謝Robin..it現在正在工作..非常有幫助.. – krish131

+0

@KrishnareddyNandyala如果解決方案幫助您解決問題,請接受答案。 – Amarnath

+1

@Che yaa ..我完成了它..現在我不知道這一個。 – krish131

相關問題