繁体   English   中英

BorderLayout.CENTER中的JScrollPane不会调整大小

[英]JScrollPane inside BorderLayout.CENTER doesn't resize

这是下面的代码,问题是JScrollPane保持其首选大小,并且没有使用BorderLayout.CENTER区域调整大小。 我当然希望它填充该区域,并使用它来滚动其中的表的内容。

frame = new JFrame();
frame.setBounds(100, 100, 500, 400);
JPanel panelCenter = new JPanel();
FlowLayout flowLayout = (FlowLayout) panelCenter.getLayout();
flowLayout.setAlignment(FlowLayout.LEFT);
panelCenter.setPreferredSize(new Dimension(300, 400));

panelRight = new ActorDrawer();
frame.getContentPane().add(panelRight, BorderLayout.EAST);
panelRight.setLayout(null);
panelRight.setPreferredSize(new Dimension(200, 400));
frame.getContentPane().add(panelCenter, BorderLayout.CENTER);

table = new JTable(new MyTableModel());
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JScrollPane scrollPane = new JScrollPane(table);
table.setFillsViewportHeight(true);
panelCenter.add(scrollPane);

您无需使用BorderLayoutJScrollPane添加到面板的中央:而是将其添加到另一个具有FlowLayout面板中,并且此面板将被添加到中央。 卸下panelCenter

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM