表头未显示在表的顶部



我正在制作一个JTable,我有两个问题#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);
  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);之后,如果不为JFrame 更改LayoutManager,则可能为frame.add(middlePanel);

  5. 删除用frame.pack()替换的frame.setSize(400, 200);,并通过覆盖JScrollPanegetPreferredSize来确定正确的PreferredSize

相关内容

  • 没有找到相关文章

最新更新