JAVA 我在JPanel上放了一个JScrollPane,JScrollPane中放了JTree,但是运行出来JTree无法显示 5

我后来把JTree加到一个JPanel上,然后把这个JPanel加到JScrollPane上,结果一开始不显示,要用鼠标滚轮滚动一下才会显示出来。。。求大神教。。。这是代... 我后来把JTree加到一个JPanel上,然后把这个JPanel加到JScrollPane上,结果一开始不显示,要用鼠标滚轮滚动一下才会显示出来。。。求大神教。。。

这是代码片段,CateTree是树,这棵树我测试过内容没问题,Scrollpanel是加上去的JPanel,panel是最外面的JPanel,frame什么的都没问题,求解啊、、、
展开
 我来答
wh猎人
2014-12-13 · TA获得超过1125个赞
知道大有可为答主
回答量:1157
采纳率:89%
帮助的人:654万
展开全部

嵌套层次有点多,这样就行了:

JFrame jf = new JFrame("测试树");
jf.getContentPane().add(jsp, BorderLayout.CENTER); 
JTree tree= new JTree();// 构建树 
jf.setSize(new JScrollPane(tree), 600);
// jf.setDefaultCloseOperation(3);
jf.setVisible(true);
追问
额。。因为这是个大作业。。所以外面这个panel设计的时候不能省。。。所以不能直接放在frame上。。。我之前本来用的JTable,直接JScrollPane tablePanel = new JScrollPane(那个JTable),然后Panel。add(JScrollPane)这样可以。。。结果JTable换成JTree就不行。。。
追答
JFrame jf = new JFrame("测试树");
JPanel myPanel=new JPanel(new BorderLayout());// 多嵌套一个面板
myPanel.add(new JScrollPane(tree), BorderLayout.CENTER);
jf.getContentPane().add(myPanel, BorderLayout.CENTER); 
JTree tree= new JTree();// 构建树 
jf.setSize(800, 600);
// jf.setDefaultCloseOperation(3);
jf.setVisible(true);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式