代码之家  ›  专栏  ›  技术社区  ›  pavithra

如何在方框布局周围创建JScrollpane

  •  0
  • pavithra  · 技术社区  · 9 年前

    我正在为我的项目创建一个软件,这是我迄今为止所做的。。 我想做的是,我有一个jpane,它是使用netbeans创建的,它位于一个滚动窗格内(也使用netbean添加),我动态地创建了一组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);
    
    
     }
    

    还有一件事,我必须拖动jframe的边框以使这些组件可见。如何在不拖动框架的情况下将它们立即添加到jframe中

    1 回复  |  直到 9 年前
        1
  •  2
  •   camickr    9 年前

    当您从可见的GUI中添加(或删除)组件时,需要重新验证()面板以调用布局管理器,以便为组件提供适当的大小(和位置),否则大小为(0,0),并且没有任何可绘制的内容。

    基本代码为:

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