Pet*_*ter 1 java swing jscrollpane flowlayout
出于某种原因,我不能这样做.它应该很简单.
我有一个带有a的JFrame BorderLayout,其中包含一个JPanel(SOUTH)和一个(CENTER)JPanel(itemPanel).
itemPanel应该包含在滚动窗格中.它的宽度= x,并且它的所有子节点共享它的长度,所以它基本上就像一个只有一列的表.
出于某种原因,我无法获得滚动窗格来显示滚动条(和滚动).在JFrame中:
setPreferredSize(dimension);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().add("South",controlPanel);
JScrollPane scroll = new JScrollPane(itemPanel);
scroll.setBorder(null);
getContentPane().add("Center",scroll);
super.pack();
setVisible(true);
Run Code Online (Sandbox Code Playgroud)
初始化并向itemPanel添加一些虚拟面板:
itemPanel = new ItemPanel(); // A JPanel with a flowlayout
itemPanel.setPreferredSize(new Dimension(dimension.width,0));
for(int i = 0; i < 20; i++){
JPanel p = new JPanel();
p.setPreferredSize(new Dimension(0,50));
p.setBackground(i%2 == 0 ? Color.GREEN : Color.YELLOW);
itemPanel.add(p);
}
Run Code Online (Sandbox Code Playgroud)
如果省略itemPanel.setPreferredSize(new Dimension(dimension.width,0));滚动窗格显示水平滚动条,但由于flowlayout没有要跟随的宽度,它只显示一行中的组件.
| 归档时间: |
|
| 查看次数: |
4756 次 |
| 最近记录: |