我试图动态地在JScrollPane中创建Item。
但是当我添加JPanel(代表项目)时,Panel会填充所有Scroll区域。
当我添加2个JPanel项目时,它会划分并填充所有滚动区域。
'绿色'区域平均项目区域此图片是我向滚动区域添加一个项目。
'青色'颜色是另一个项目。这张照片是我将第二个项目添加到滚动区域
我想要修复每个项目的高度(和填充宽度)
当我添加项目添加到滚动窗格区域时,左侧区域仍为空白区域。
我该怎么做?
下面是我的代码。
感谢。
public class JPanelINScrollPanel extends JFrame{
public JPanelINScrollPanel(){
this.setSize(700,700);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel basePanel = new JPanel();
JScrollPane scrollPanel = new JScrollPane();
JPanel listPanel = new JPanel();
JPanel itemPanel1 = new JPanel();
JPanel itemPanel2 = new JPanel();
JPanel itemPanel3 = new JPanel();
basePanel.setBackground(Color.BLACK);
getContentPane().add(basePanel);
basePanel.setLayout(new BorderLayout(0, 0));
scrollPanel.setBackground(Color.BLUE);
basePanel.add(scrollPanel);
listPanel.setSize(500,500);
listPanel.setBackground(Color.red);
listPanel.setLayout(new BoxLayout(listPanel, BoxLayout.PAGE_AXIS));
scrollPanel.add(listPanel);
scrollPanel.setViewportView(listPanel);
//itemPanel1.setSize(50,50);
itemPanel1.setPreferredSize(new Dimension(50, 50));
itemPanel1.setBackground(Color.GREEN);
listPanel.add(itemPanel1);
}
public static void main(String[] args){
JPanelINScrollPanel test = new JPanelINScrollPanel();
test.setVisible(true);
}
}
答案 0 :(得分:0)
这很简单
将setMaximumSize设置为项目面板。
它已经解决了。