0

我正在制作 JTable,但遇到了 2 个问题。#1 表格标题显示在表格的一侧,而 #2 滚动窗格未显示。这是我现在的一些代码。

String [] data = {"a", "b", "c", "d", "e"};
JFrame frame = new JFrame("String Table");
JPanel middlePanel = new JPanel();              
DefaultTableModel model = new DefaultTableModel();
model.addColumn("String", data);
JTable table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);    


frame.getContentPane().add(middlePanel, BorderLayout.CENTER);
middlePanel.add(scrollPane);
middlePanel.add(table.getTableHeader());
middlePanel.add(table);


frame.setSize(400, 200);
frame.setVisible(true);
4

1 回答 1

2
  1. 仅使用代码行middlePanel.add(scrollPane);

  2. JPanel (middlePanel)应由GridLayoutBorderLayout

  3. 删除代码行middlePanel.add(table.getTableHeader());middlePanel.add(table);

  4. frame.getContentPane().add(middlePanel, BorderLayout.CENTER);在 之后移动代码行middlePanel.add(scrollPane);,并且可能是ifframe.add(middlePanel);没有更改LayoutManagerJFrame

  5. 删除frame.setSize(400, 200);替换为并通过覆盖frame.pack()确定正确PreferredSizegetPreferredSizeJScrollPane

于 2013-04-17T13:45:06.473 回答