java JScrollPane 滚动条不好使问题,以及JScrollPane中放入JLayeredPane问题
程序员文章站
2022-05-30 11:53:38
...
项目需要,写一个显示网络拓扑结构的插件(见我之前的博客),根据客户需要,要在拓扑展示面板添加滚动条,研究了一好一会……
我是将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 );