2

我正在尝试将 JTable 添加到 JTabbedPane。它很好,但是,列的标题不可见。

这是我的代码的相关点点滴滴:

JTabbedPane jp = new JTabbedPane();
static JTable t1 = new JTable();
static MainFrame f = new MainFrame();
static DefaultTableModel model = new javax.swing.table.DefaultTableModel(); 

    f.scroll.add(jp);
    f.scroll.setViewportView(jp);
    jp.addTab("Tab 1", null, t1, "");
    t1.setModel(model);

    model.addColumn("Description");
    model.addColumn("Change");
    model.setRowCount(1);
    model.fireTableStructureChanged();

其中 f 是 JFrame 而 f.scroll 是 JScrollPane

4

2 回答 2

2
  1. 添加JTableJScrollPanethenTableHeader应该是可见的,然后添加JScrollPaneJTabedpane,否则必须以TableHeader编程方式添加

  2. 不要调用model.fireTableStructureChanged();,这个事件在 used 中正确实现DefaultTableModel

  3. 更好的方法是创建列,添加行,将这两个值放入DefaultTableModelObjectVector

  4. 将此模型添加到JTable,例如table = new JTable(myModel);

于 2012-08-07T16:39:22.627 回答
0

不要将 JTabbedPane 添加到滚动窗格,然后将表格添加到选项卡窗格,只需将选项卡窗格添加到框架 (f),然后将滚动窗格添加到其中的选项卡 1,然后将表格设置为视口滚动窗格。

结构:

JFrame {
    JTabbedPane {
        Tab 1 {
            JScrollPane {
                JTable
            }
        }
        Tab 2 {

        }
        tab 3 {

        }
    }
}
于 2012-08-07T16:43:01.700 回答