java - JFrame 中的 JScrollPane

标签 java swing jscrollpane

我想编写一个简单的Java程序,它由一个集成了JScrollPaneJFrame组成。只是它不按这种方式工作我做。

我的方法有什么问题?

public class TestView {

    JFrame frame;
    JScrollPane scrollPane;

    public TestView(){

        frame = new JFrame();
        scrollPane = new JScrollPane();    
        scrollPane.add(new JLabel("Klick me"));
        scrollPane.setMinimumSize(new Dimension(200,200));

        frame = new JFrame();
        frame.getContentPane().add(scrollPane);
        frame.setSize(200,200);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }

    public static void createAndShowGui(){
        TestView tv = new TestView();
    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                 createAndShowGui();
            }
        });

最佳答案

如果问题是您在滚动 Pane 中看不到标签,您可能需要使用

scrollpane.setViewportView(new JLabel("点击我"));

而不是

scrollPane.add(new JLabel("点击我"));

此外,我建议您创建一个 JPanel,为其指定布局,并将标签放在那里,而不是将标签传递到滚动 Pane 。然后将此面板设置为视口(viewport)。

请参阅

Difference between JscrollPane.setviewportview vs JscrollPane.add

关于java - JFrame 中的 JScrollPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31383548/

相关文章:

java - 是否存在 Objective-Java 集成库?

java - 如何使用 Netbeans 在 JFrame 中显示文本?如何清除 JFrame 中的文本?

java - JScrollPane 和 JTextArea 滚动

java - JScrollPane 的问题

java - 如果类引用原始类型,则所有访问通过 ASM 生成的类的构造函数的反射方法都会抛出 NoClassDefFoundError

java - JDBC - 将日期插入数据库会产生错误

java - 混淆按键跳跃案例

java - 将面板放入面板 java GUI 中

java - JPanel 填满整个 JScrollPane

java - map 正在加载,但在 Android 开发中看不到 map