java JScrollPane 滚动条不好使问题,以及JScrollPane中放入JLayeredPane问题

项目需要,写一个显示网络拓扑结构的插件(见我之前的博客),根据客户需要,要在拓扑展示面板添加滚动条,研究了一好一会……

 

我是将JLayeredPane放入JScrollPane中,开始怎么都不能显示滚动条,JScrollPane的size设小了是显示出来了,但是即使JLayeredPane中的内容超过了JScrollPane滚动条也不起作用,后来网上找到一个办法:

 

关键几句:

 JScrollPane pane = new JScrollPane();
 pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
 pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
 pane.setSize(300, 200);  //关键!这里要用setSize设定固定大小!!!

 

 JLayeredPane layerPane = new JLayeredPane();

 layerPane.setPreferredSize(new Dimension(1000, 700));

//关键!可以设定大些或设成和JScrollPane同样大小,这样如果内部空间位置超出设置的大小就会根据位置显示滚动条,  注意不能用setSize(否则滚动条不显示)!

 

 

 pane.setViewportView( layerPane );
 

你可能感兴趣的:(java)