现在要查询数据库,并将结果显示到Swing GUI中,我知道是要用JTable组件,但是不知道应该如何使用,望高手给点例子看看,最好有注释,谢谢!

解决方案 »

  1.   

    package test;import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.*;
    import java.awt.event.*;public class TableModelExample3 extends JFrame {
    public TableModelExample3(String title) {
    super(title);

    AbstractTableModel model = new AbstractTableModel() {
    // The table data
    Object[][] data = {
    { "Hot & Spicy", Boolean.FALSE },
    { "Cheese", Boolean.FALSE },
    { "Ham", Boolean.FALSE },
    { "New Yorker", Boolean.FALSE },
    { "Vegetarian", Boolean.FALSE }
    }; String[] columnNames = {
    "Pizza", "Ordered?"
    }; public int getRowCount() {
    return data.length;
    } public int getColumnCount() {
    return data[0].length;
    } public Object getValueAt(int row, int col) {
    return data[row][col];
    } public String getColumnName(int columnIndex) {
    return columnNames[columnIndex];
    } public Class getColumnClass(int columnIndex) {
    return data[0][columnIndex].getClass();
    } public boolean isCellEditable(int rowIndex, int columnIndex) {
    return columnIndex == 1;
    } public void setValueAt(Object value, int rowIndex, int columnIndex) {
    if (value instanceof Boolean && columnIndex == 1) {
    data[rowIndex][columnIndex] = value;
    fireTableCellUpdated(rowIndex, columnIndex);
    }
    }
    }; JTable tbl = new JTable(model);
    this.getContentPane().add(new JScrollPane(tbl));
    } public static void main(String[] args) {
    JFrame f = new TableModelExample3("AbstractDataModel Example 3");
    f.pack();
    f.setVisible(true);
    f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    f.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent evt) {
    System.exit(0);
    }
    });
    }
    }
    你把TableData换成数据库里的数据就可以了
      

  2.   

    问题就在这里,如何换成数据库里面的数据?JDBC查询结果仅仅是一个串行字符类ResultSet。另外,如果要增加删除和更改等功能,又应当如何设计?
      

  3.   

    刚看了一下  JTable(Vector rowData, Vector columnNames)  
    这个构造函树应该能够满足楼主的要求
    rowData 放查询结果,columnNames放列名~