Java 如何围绕方框布局制作JScrollpane

Java 如何围绕方框布局制作JScrollpane,java,swing,jframe,jpanel,scrollbar,Java,Swing,Jframe,Jpanel,Scrollbar,我正在为我的项目创建一个软件,下面是我到目前为止所做的。。 我想做的是,我有一个jpane witch是用网络bean创建的,它在一个滚动窗格中(witch也是用netbeans添加的),我动态地创建了一组jpane,并将这些jpane添加到我用netbean创建的jpane中。现在滚动窗格不起作用了。我想不出原因,请帮助我 这就是我所做的 int size=(int)jSpinner1.getValue(); a=new JPanel [size]; nameoftext=new

我正在为我的项目创建一个软件,下面是我到目前为止所做的。。 我想做的是,我有一个jpane witch是用网络bean创建的,它在一个滚动窗格中(witch也是用netbeans添加的),我动态地创建了一组jpane,并将这些jpane添加到我用netbean创建的jpane中。现在滚动窗格不起作用了。我想不出原因,请帮助我

这就是我所做的

 int size=(int)jSpinner1.getValue();
    a=new JPanel [size];
 nameoftext=new JLabel[size];
 name=new JTextField[size];
 but =new JButton[size];
 iamge=new JLabel[size];



 jPanel1.removeAll();


 for(int x=0;x<size;x++)
 {

     a[x]=new JPanel(new FlowLayout());
    jPanel1.setLayout(new BoxLayout(jPanel1,BoxLayout.PAGE_AXIS));//this is the jpanel i created using netbeans
     jPanel1.add(a[x]);

     a[x].setVisible(true);


 }


 for(int x=0;x<size;x++)
 {

     nameoftext[x]=new JLabel("enter name");
     nameoftext[x].setText("enter name");
     name[x]=new JTextField();
     name[x].setName("name"+String.valueOf(x));
     name[x].setColumns(20);
     a[x].add(nameoftext[x]).setVisible(true);
     a[x].add(name[x]).setVisible(true);


 }
int size=(int)jSpinner1.getValue();
a=新的JPanel[尺寸];
nameoftext=新的JLabel[size];
名称=新的JTextField[大小];
但是=新的JButton[尺寸];
iamge=新的JLabel[尺寸];
jPanel1.removeAll();
对于(int x=0;x当您从可见GUI中添加(或删除)组件时,您需要重新验证()面板以调用布局管理器,以便为组件提供适当的大小(和位置),否则大小为(0,0),无需绘制

基本准则是:

panel.add(...);
panel.revalidate();
panel.repaint();