我创建了一个 JPanel 和 JScrollPane ,如下所示:
JPanel panel = new JPanel();
panel.setPreferredSize(5000, 5000);
JScrollPane scrollPane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPanel.getViewport().setBackground(Color.GRAY); //panel is white
我将使用事件处理程序来动态调整面板的大小。问题是,有时面板比视口小。我会像这样设置面板的大小:
panel.setPreferredSize(10, 10); //Just an example
但面板永远不会小于视口。我尝试使用
panel.setSize(10, 10);
我看到了灰色闪烁(视口的背景显示出来),这表明面板的大小正在调整到我想要的大小,但随后又增长到了视口的大小。我怎么能阻止这个?