我想创建一个带有表格的面板,它填充整个可用空间。
我使用以下代码执行此操作:
public class MyFrame extends JFrame {
public EconomyFrame() throws HeadlessException {
super("...");
final JTabbedPane tabbedPane = new JTabbedPane();
add(tabbedPane);
final JPanel companiesPanel = new JPanel();
final CompaniesTableModel companiesModel = new CompaniesTableModel
(ApplicationStateSingleton.INSTANCE.getPersistence().getCompanies());
final JTable companiesTable = new JTable(companiesModel);
ApplicationStateSingleton.INSTANCE.getEventBus().subscribeToPropertyChanges(companiesModel);
companiesPanel.add(new JScrollPane(companiesTable));
tabbedPane.addTab("Companies", companiesPanel);
}
}
但它不起作用,因为当我调整框架大小时,表格仅填充部分可用空间(请参见下面的屏幕截图)。
我该如何修复(使表格填满整个可用空间)?
最佳答案
使用允许JTable
占据整个可用区域的布局管理器,而不是仅使用其组件的JPanel
使用的默认FlowLayout
首选尺寸
JPanel companiesPanel = new JPanel(new GridLayout());
关于java - 如何让 JTable 填满整个可用空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467217/