在JTable的某一列中嵌入两个JButton,该怎么加?大家帮帮忙

解决方案 »

  1.   

    sun的官方网站有例子,学swing看那个不错
    http://java.sun.com/docs/books/tutorial/uiswing/
    http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
      

  2.   

    import java.awt.Component;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.TableModel;public class TableTest {    TableModel dataModel = new AbstractTableModel() {
            public int getColumnCount() {
                return 1000;
            }        public int getRowCount() {
                return 1000;
            }        public Object getValueAt(int row, int col) {
                return new Integer(row * col);
            }
        };    private JTable table = new JTable(dataModel);    private JScrollPane scrollpane = new JScrollPane(table);    public TableTest() {
            JFrame f = new JFrame();
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            table.getColumn("A").setCellRenderer(new ButtonRenderer());
            f.getContentPane().add(scrollpane);
            f.setVisible(true);
            f.pack();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }    private class ButtonRenderer extends JButton implements TableCellRenderer {
            public Component getTableCellRendererComponent(JTable table,
                                                           Object value,
                                                           boolean isSelected,
                                                           boolean hasFocus,
                                                           int row,
                                                           int column) {
                this.setText((value == null) ? null : value.toString());
                return this;
            }
        }    public static void main(String[] args) {
            TableTest tt = new TableTest();
        }
    }想嵌入什么,就在getTableCellRendererComponent方法里返回什么,getTableCellRendererComponent里还应该加些代码,不然表现不对,比如:Color,border什么的