gpt4 book ai didi

java - 我的 JTable 没有扩展到它所在面板的全宽

转载 作者:行者123 更新时间:2023-11-30 08:11:01 26 4
gpt4 key购买 nike

如何让我的 JTable 使用父面板的全部可用资源?我尝试使用 setSize 或 setPreferredSize,但没有用。后者实际上生成了一个非常小的表格版本。

JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.insets = new Insets(0, 0, 25, 15);
String[] columnNames = {"A", "B", "C", "D", "E"};
Object[][] data = new Object[20][columnNames.length];
for( int i = 0; i < 20; i++ ){
data[i] = new Object[]{"Some other stuff that is long", "K", "1234567891011121314", "R", "T"};
}

JTable skillTable = new JTable(data, columnNames);
skillTable.setFillsViewportHeight(true );
JScrollPane scrollTable = new JScrollPane(skillTable);
constraints.fill = constraints.HORIZONTAL;
panel.add(scrollTable, constraints);

这就是它的样子:http://i.stack.imgur.com/P4b6A.png

最佳答案

使用 BorderLayout 简洁明了

 JPanel panel = new JPanel(new BorderLayout());
String[] columnNames = {"A", "B", "C", "D", "E"};
Object[][] data = new Object[20][columnNames.length];
for (int i = 0; i < 20; i++) {
data[i] = new Object[]{"Some other stuff that is long", "K", "1234567891011121314", "R", "T"};
}

JTable skillTable = new JTable(data, columnNames);
skillTable.setFillsViewportHeight(true);
JScrollPane scrollTable = new JScrollPane(skillTable);
panel.add(scrollTable, BorderLayout.CENTER);

//as you said you want to add a button as well
JPanel buttonpanel=new JPanel();
buttonpanel.add(new JButton("Test"));
panel.add(buttonpanel,BorderLayout.SOUTH);

enter image description here

关于java - 我的 JTable 没有扩展到它所在面板的全宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31324300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com