如何制作JPanel Scrollable

时间:2015-01-28 12:28:05

标签: java swing jscrollpane layout-manager null-layout-manager

大家好我一直试图让我的JPanel可滚动但没有运气。

JPanel包含其他JPanel,然后将其添加到JScrollPane,但JScrollPane没有显示任何内容。

这就是我试过的

int size=rs.getRow();
EnrollNewStudent enroll=new EnrollNewStudent();
JPanel resultPanel=new JPanel();
resultPanel.setLayout(null);
resultPanel.setOpaque(false);
int y=10;
int pace=(int)Math.floor(80/size);
for(int i=1;i<=size;i++){
   JPanel panel=enroll.initComponents(rs,i);
   panel.setBounds(0,y,1090,550);
   resultPanel.add(panel);
   y+=555;
   searchProgressBar.setValue(searchProgressBar.getValue()+pace);
}
resultPanel.setBounds(0,150,1090,y);
searchProgressBar.setValue(90);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int xlocation=dim.width/2-545;
int ylocation=dim.height/2-277;
this.setBounds(xlocation,ylocation,1090,553);
holderPanel.remove(searchProgressBar);
search.setBounds(420, 80, 100, 30);
holderPanel.setBounds(2,30,1086,521);
closeButton.setBounds(1070, 10, 26, 14);
resultScrollPane=new JScrollPane();
resultScrollPane.setBounds(0,150,1090,400);
//resultPanel.setBounds(0,150,1090,400);
resultScrollPane.setViewportView(resultPanel);
resultScrollPane.setOpaque(false);
holderPanel.add(resultScrollPane);
repaint();

非常感谢您的协助

1 个答案:

答案 0 :(得分:1)

您可以定义传递滚动窗格内容所需大小的resultPanel.setPreferredSize(),但实际的解决方案是使用正确的布局管理器。