Java JTable标头未显示 JTable标头未显示。。。

Java JTable标头未显示 JTable标头未显示。。。,java,database,swing,methods,jtable,Java,Database,Swing,Methods,Jtable,即使将JTable头添加到JScrollPane这样的容器中,我的JTable头也不会显示……告诉我为什么会出现这种情况,以及如何修复或调试它。。我在互联网上搜索,他们说的只是将容器添加到你们的jtable中,我做了,但我的标题仍然没有显示出来 公共作废表(){ 试一试{ rs=stat.executeQuery(“从付款中选择*”; 向量头=新向量(); 标题。添加(“付款”); 标题。添加(“金额”); 标题。添加(“修改人”); 标题。添加(“修改日期”); 向量数据=新向量(); wh

即使将JTable头添加到JScrollPane这样的容器中,我的JTable头也不会显示……告诉我为什么会出现这种情况,以及如何修复或调试它。。我在互联网上搜索,他们说的只是将容器添加到你们的jtable中,我做了,但我的标题仍然没有显示出来


公共作废表(){
试一试{
rs=stat.executeQuery(“从付款中选择*”;
向量头=新向量();
标题。添加(“付款”);
标题。添加(“金额”);
标题。添加(“修改人”);
标题。添加(“修改日期”);
向量数据=新向量();
while(rs.next()){
向量行=新向量();
添加(rs.getString(“description”);
行。添加(rs.getString(“金额”);
行添加(rs.getString(“备注”);
添加(rs.getString(“日期”);
添加数据(行);
}//循环
表=新的JTable(数据、标题);
JScrollPane scrollPane=新的JScrollPane(表);
面板。添加(表);
panel.add(table.getTableHeader());
//panel.removeAll();
//滚动。添加(表格);
验证();
}捕获(例外e){
System.out.println(“表中的错误:+e”);
}//抓住
}
从删除开始

panel.add(table.getTableHeader());
JTable
用于将其标题添加到
JScrollPane
。组件的实例只能属于一个父级/容器,上面的一行将其从滚动窗格中删除

还有,改变这个

panel.add(table);

我也面临同样的问题 您必须将JTable添加到JScrollPane,然后将JScrollPane添加到JFrame e、 g

具有动态数据的最佳JTable示例(在编辑器中粘贴并作为Java应用程序执行即可顺利工作):

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class TableTest {

private JFrame frame;
private JTable table;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                TableTest window = new TableTest();
                window.frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the application.
 */
public TableTest() {
    initialize();
}

/**
 * Initialize the contents of the frame.
 */
private void initialize() {
    frame = new JFrame();
    frame.setBounds(100, 100, 450, 300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(null);

    table = new JTable();

    DefaultTableModel daDefaultTableModel = new DefaultTableModel(0, 0);

    String[] columnNames = new String[] {"Column Header1", "Column Header2", "Column Header3"};

    daDefaultTableModel.setColumnIdentifiers(columnNames);

    //Dummy data for Table
    daDefaultTableModel.addRow(new Object[] {"Test1","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test2","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test3","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test4","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test5","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test6","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test7","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test8","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test9","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test10","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test11","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test12","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test13","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test14","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test15","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test16","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test17","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test18","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test19","Test2","Test3"});

    table.setModel(daDefaultTableModel);

    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.setBounds(10, 38, 414, 212);
    frame.getContentPane().add(scrollPane);



  }
}

它起作用了哈哈哈…谢谢!顺便说一句,这是我的另一个错误,为什么我保留get blank table我设置了表的边界而不是scrollpane…=]请改用适当的LayoutManager
panel.add(scrollPane);
JTable table = new JTable();
JScrollPane scrollPane= new  JScrollPane(table);
frame.add(scrollPane);
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class TableTest {

private JFrame frame;
private JTable table;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                TableTest window = new TableTest();
                window.frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the application.
 */
public TableTest() {
    initialize();
}

/**
 * Initialize the contents of the frame.
 */
private void initialize() {
    frame = new JFrame();
    frame.setBounds(100, 100, 450, 300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(null);

    table = new JTable();

    DefaultTableModel daDefaultTableModel = new DefaultTableModel(0, 0);

    String[] columnNames = new String[] {"Column Header1", "Column Header2", "Column Header3"};

    daDefaultTableModel.setColumnIdentifiers(columnNames);

    //Dummy data for Table
    daDefaultTableModel.addRow(new Object[] {"Test1","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test2","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test3","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test4","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test5","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test6","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test7","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test8","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test9","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test10","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test11","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test12","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test13","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test14","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test15","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test16","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test17","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test18","Test2","Test3"});
    daDefaultTableModel.addRow(new Object[] {"Test19","Test2","Test3"});

    table.setModel(daDefaultTableModel);

    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.setBounds(10, 38, 414, 212);
    frame.getContentPane().add(scrollPane);



  }
}