Java 向JScrollPane面板添加组件

Java 向JScrollPane面板添加组件,java,swing,jpanel,jscrollpane,Java,Swing,Jpanel,Jscrollpane,我真的有一个问题,使我的面板滚动。首先,我不喜欢在Java中使用布局管理器。我发现手动布局面板更容易。无论如何,我有一个面板,我希望可以滚动,所以我使用了JScrollPane,面板作为它的参数。然而,每当我向面板中添加组件时,滚动面板就不起作用,我也不知道为什么。请帮我做项目。代码如下: JPanel mainPanel = new JPanel(); mainPanel.setBounds(5,50,510,540); mainPanel.setLayout(null);

我真的有一个问题,使我的面板滚动。首先,我不喜欢在Java中使用布局管理器。我发现手动布局面板更容易。无论如何,我有一个面板,我希望可以滚动,所以我使用了JScrollPane,面板作为它的参数。然而,每当我向面板中添加组件时,滚动面板就不起作用,我也不知道为什么。请帮我做项目。代码如下:

JPanel mainPanel = new JPanel();
    mainPanel.setBounds(5,50,510,540);
    mainPanel.setLayout(null);
    mainPanel.setOpaque(false);
    displayPanel.add(mainPanel);

    JPanel childPanel = new JPanel();
    childPanel.setLayout(null);
    childPanel.setSize(510,540);
    childPanel.setBackground(Color.darkGray);
    JScrollPane scroll = new JScrollPane (childPanel)
    scroll.setSize(510,540);
    childPanel.setAutoscrolls(true);
    int y = 20, height = 100 ;

    for(int i=0 ; i<10; i++){
        JButton panel = new JButton();
        panel.setBounds(5,y,100,height);
        y = y + height;
        childPanel.add(panel);
        panel.setBorder(BorderFactory.createLineBorder(Color.black));
    }

    mainPanel.add(scroll);
JPanel主面板=新的JPanel();
主面板.立根(5,50510540);
mainPanel.setLayout(空);
主面板。设置不透明(假);
添加(主面板);
JPanel childPanel=新的JPanel();
childPanel.setLayout(空);
childPanel.setSize(510540);
childPanel.setBackground(颜色:暗灰色);
JScrollPane scroll=newjscrollpane(childPanel)
滚动。设置大小(510540);
childPanel.setAutoscrolls(真);
内部y=20,高度=100;

对于(int i=0;i
我真的很难使我的面板可滚动
-不要使用空布局!!!
我对在Java中使用布局管理器不感兴趣。
-是的,JScrollPane设计用于使用布局管理器的面板。如果你想滚动,请使用布局管理器。
滚动窗格不起作用,我没有想一想为什么。
-因为你使用的是空布局。我明白了。我想我真的必须阅读布局管理器。顺便说一下。我在你最后的答案中给了你一个指向Swing教程的链接,这是有原因的。它教你Swing基础知识。这里有一个关于布局管理器的部分。好的。我现在正在阅读。非常感谢先生。
我是ally在使我的面板可滚动时遇到问题
-不要使用空布局!!!
我对在Java中使用布局管理器不感兴趣。
-是的,JScrollPane设计用于使用布局管理器的面板。如果你想滚动,请使用布局管理器。
滚动窗格不工作,我不知道原因。
-因为你使用的是空布局。我明白了。我想我真的必须阅读布局管理器。顺便说一句。我在你最后的答案中给了你一个指向Swing教程的链接,这是有原因的。它教你Swing基础知识。这里有一个关于布局管理器的部分。好的。我现在正在阅读。非常感谢先生。