【发布时间】:2014-03-08 16:09:54
【问题描述】:
我试图用JScrollPane 包围JPanel,但它就是不显示,这是为什么呢?
我的JPanel 由动态创建的组件组成。每当用户单击按钮时,都会创建一个新组件,从而使JPanel 更大(通过设置PrefferedSize)。但是JScrollPane 不会显示。请帮忙。谢谢。
scrpOfPanel = new JScrollPane();
scrpOfPanel .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scrpOfPanel .setBounds(54, 180, 565, 400);
panel.add(scrpOfPanel);
panel = new JPanel();
panel.setBackground(Color.WHITE);
panel.setPreferredSize(new Dimension (450, 50));
panel.setLayout(null);
scrpOfPanel .setViewportView(panel);
lblAdd = new JLabel();
lblAdd.setBounds(420, 6, 38, 25);
lblAdd.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
count++;
txtItem= new JTextField();
txtItemNumber = new JTextField();
lblRemove = new JLabel();
l
panel.add(txtItem);
panel.add(txtItemNumber);
panel.add(lblRemove);
if(count>0){
x+=30;
y+=30;
lblRemove.setBounds(420,6+y, 125, 25);
txtItem.setBounds(225,6+y, 182, 27);
txtItemNumber.setBounds(35, 6+y, 182, 27);
if(panel.getComponentCount() >9){
panel.setPreferredSize(new Dimension(100+y,50+y));
panel.add(txtItem);
panel.add(txtItemNumber);
panel.add(lblRemove);
}
}
}
});
panel.add(lblAdd);
【问题讨论】:
-
添加滚动窗格
panel.add(scrpOfPanel);,然后立即将panel设为新的JPanel-panel = new JPanel();。您希望通过它完成什么?
标签: java swing jpanel jscrollpane