java - 将 JTable 添加到 JTabbedPane 中?

标签 java swing jtable jtabbedpane

我正在尝试将 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

最佳答案

  1. JTable 添加到 JScrollPane,然后 TableHeader 应该可见,然后将 JScrollPane 添加到JTabedpane,否则必须以编程方式添加TableHeader

  2. 不要调用model.fireTableStructureChanged();,该事件在使用的DefaultTableModel中正确实现

  3. 更好的是创建列,添加行,将这两个值放入 DefaultTableModel ( ObjectVector )

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

关于java - 将 JTable 添加到 JTabbedPane 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11850344/

相关文章:

java - 如何恢复中断的下载 - 第 2 部分

java - JButton 在按下内存游戏时不改变图标

java - JScrollPane 设置滚动位置

java - 具有 2 个不同数据的 JTable

java - 如何将数据库中的行数据插入到 JTable 的特定列中?

java - 为什么 m 方法的可见性会以这种方式改变输出?我预计会发生相反的情况

java - 如何使用 Selenium WebDriver 和 Java 单击未定义 ID 的输入类型提交

java - 更新后刷新JTable

java - jTable 开头的复选框

Java Maven 清理并使用依赖项进行构建