import javax.swing.*;
import java.awt.*;
import javax.swing.table.DefaultTableModel;public class TableTest extends JFrame{
    JPanel panel = (JPanel)getContentPane();
    public JScrollPane scrollPane  = new JScrollPane();
    public JTable table = new JTable();
    JComboBox c = new JComboBox();    public TableTest() {
        init();
    }    public void init() {
        c.addItem("FOXCONN");
        c.addItem("AOPEN");
        c.addItem("MSI");
        c.addItem("ACER");
        table.setModel(setData());
        table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(c));
        scrollPane.getViewport().add(table);
        panel.add(scrollPane, BorderLayout.CENTER);        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
        pack();
        setVisible(true);
    }
    private DefaultTableModel setData()
    {
        Object[][] BookInfo = {
                                     {"主板", "FOXCONN", "10", new Boolean(false)},
                                     {"CPU", "MSI", "200", new Boolean(true)}
                               };
        String[] ColumnName = {"货物", "客户", "数量", "是否有出库"};
        DefaultTableModel myData = new MyTableModel(ColumnName,0);
        myData.addRow(BookInfo[0]);
        myData.addRow(BookInfo[1]);
        return myData;
    }    public static void main(String para[]) {
        new TableTest();
    }
}
class MyTableModel extends DefaultTableModel {    public MyTableModel(Object[] head,int n)
    {
       super(head,n);
    }
    public Class getColumnClass(int columnIndex) {
        return getValueAt(0, columnIndex).getClass();
    }}