【问题标题】:Resize JPanel within JScrollPane - never smaller than viewport在 JScrollPane 中调整 JPanel 的大小 - 从不小于视口
【发布时间】:2012-07-09 04:23:55
【问题描述】:

我已经像这样创建了 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);

我看到了灰色闪烁(视口的背景显示出来),这表明面板正在调整到我想要的大小,但随后增长到了视口的大小。我怎样才能阻止这种情况?

【问题讨论】:

    标签: java swing jpanel jscrollpane


    【解决方案1】:

    要控制 JViewport 中视图的大小,让它实现Scrollable 接口。没有,它总是被强制到视口的大小。

    【讨论】:

    • 谢谢,成功了。只需将所有内容设置为返回 null/0/false。
    猜你喜欢
    • 2020-08-16
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    相关资源
    最近更新 更多