我正在尝试使用一些任意值创建一个简单的可滚动 JTable,并将其放置在 JPanel 中。我遇到了一些奇怪的结果,其中 JTable 出现但只显示列名并且似乎压扁了剩余的行。表格也出现在面板的中心,我希望它位于顶部。
// Panel to hold our layer information
JPanel layerPanel = new JPanel(new GridBagLayout());
layerPanel.setBackground(Color.LIGHT_GRAY);
layerPanel.setPreferredSize(new Dimension(200, 200));
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(0,5,0,5);
c.weightx = 1; c.weighty = 0.0;
c.fill = GridBagConstraints.BOTH;
c.gridx = 0; c.gridy = 0;
String[] columns = { "Show", "Layer" };
Object[][] data = {{"x", "Layer1"},
{"x", "Layer2"}};
// Construct our table to hold our list of layers
JTable layerTable = new JTable(data, columns);
layerTable.getColumnModel().getColumn(0).setPreferredWidth(64);
layerPanel.add(new JScrollPane(layerTable), c);
frame.add(layerPanel);
任何帮助表示赞赏,当我使用 GridLayout(1,0) 而不是使用 GridBagLayout 时,代码可以工作,所以我觉得我用错了。
感谢您的时间。