java - JScrollpane 不滚动大内容

标签 java swing size jscrollpane

我有一个简单的例子,我想在一个小框架中显示一个大面板。 Java 文档告诉滚动 Pane 将自动使其内容适合其视口(viewport)并添加滚动条。 但是我没有这样的运气。没有滚动 Pane 及其内容出现。 这是我尝试过的。

public class MyWindow extends JFrame {
    JPanel panel;
    JScrollPane scroll;

    public MyWindow(){  
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        panel = new JPanel();
        panel.setSize(1000,1000);
        scroll = new JScrollPane(panel);

        add(scroll,BorderLayout.CENTER);
        setSize(300, 300);
        setVisible(true);
    }
}

如类似问题所述,

  1. 我把面板做得比框架大。
  2. 我在框架中添加了边框布局。

仍然没有运气。

最佳答案

JScrollPane 可以随意忽略面板的初始大小。您需要设置首选尺寸

panel = new JPanel() {
    @Override
    public Dimension getPreferredSize() {
        return new Dimension(1000, 1000);
    };
};

关于java - JScrollpane 不滚动大内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26689896/

相关文章:

java - CloudFoundry : Java, Ruby 还是 Node.js?

javascript - Django:如何保存mxGraph,以便当用户刷新图表时保持不变? (异步)

java - eclipse rcp中插件依赖和lib有什么区别

java - 将 JScrollPane 添加到 JDialog

java - Cellrenderer 更改单元格背景颜色还更改值格式、对齐方式

actionscript-3 - 在 AS3 (Action Script 3.0) 中查找(加载)图像大小

c - 在这种情况下,为什么在计算文件大小时要多出 1 个字节?

java - 从资源加载图像无法读取输入文件

java - 当尝试将 KeyListener 添加到我的 JFrame 时,它​​总是给我一个错误

latex - 如何以毫米为单位设置LaTeX字体大小?