将表字段转换为jCheckBox [复制]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将表字段转换为jCheckBox [复制]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我创建了一个与另一个类一起使用的jTable类。这里的代码:

public class Data_Table extends JFrame{
    DefaultTableModel dtm;
    JTable table;
    JScrollPane scrollPane;
    JFrame ventana;
    JButton button1,button2;
    JPanel pCentral,pSouth,pWindow;

    public void init() {
        String[] columnNames = {"CBD","abstract","final","native","private","protected","public",
                                "static","strictfp","synchronized","transient","volatile"};
        dtm = new DefaultTableModel(columnNames,0);     
        table = new JTable(dtm);
        scrollPane = new JScrollPane(table);

        button1 = new JButton("Ok");
        button2 = new JButton("Cancel");
    }

    public void addData(Object[] data) {
        dtm.addRow(data);
    }

    public void createWindow() {
        pCentral=new JPanel();
        pCentral.add(scrollPane);

        pSouth=new JPanel();
        pSouth.add(button1);
        pSouth.add(button2);

        pWindow=new JPanel(new BorderLayout());

        pWindow.add(pCentral,BorderLayout.CENTER);
        pWindow.add(pSouth,BorderLayout.SOUTH);

        ventana=new JFrame("");
        ventana.setContentPane(pWindow);

        ventana.add(scrollPane);
        ventana.setSize(1000,200);
        ventana.setLocationRelativeTo(null);
        ventana.setVisible(true);
    }
}

我想将列从abstract转换为volatile到jCheckBox。结果现在是这样的:

我怎样才能改变我的表格???

答案

利用表模型,特别是通过创建一个扩展javax.swing.table.AbstractTableModel并覆盖getColumnClass()方法的类,并指定该方法为这些特定列返回Boolean.class

一个开始你的好地方是http://docs.oracle.com/javase/tutorial/uiswing/components/table.html特别是Creating a Table Model上的链接

示例实现可以是:

    public class MyTableModel extends AbstractTableModel {
        /* Implement the various abstract methods and override any 
         * other methods you need to
         */

        public Class<?> getColumnClass ( int columnIndex ) {
            if ( (columnIndex == 1) || (columnIndex == 11 ) ) {
                return Boolean.class;
            }
        }
    }

之后,您将使用JTable的方法将表模型应用于表格,setModel()

以上是关于将表字段转换为jCheckBox [复制]的主要内容,如果未能解决你的问题,请参考以下文章

我有一个要转换为 ArrayList<String> 的 ArrayList<JCheckBox>

Delphi:如何将表结构转换为对象

如何使用 JDBC 接收器连接器将表名转换为大写

mysql,想将表A字段a的数据复制到表B的a字段,应该如何写?

存储过程:将表名转换为表变量

如何将表列转换为数组?