0

別のクラスで使用される 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);
    }
}

からの列をjCheckBoxabstractに変換したい。volatile現時点での結果は次のとおりです。 ここに画像の説明を入力

テーブルを変換するにはどうすればよいですか???

4

1 に答える 1

2

javax.swing.table.AbstractTableModel具体的には、メソッドを拡張してオーバーライドするクラスを作成getColumnClass()し、メソッドBoolean.classがそれらの特定の列を返すように指定することによって、テーブル モデルを利用します。

開始するのに適した場所は、http://docs.oracle.com/javase/tutorial/uiswing/components/table.html 、特にテーブル モデルの作成に関するリンクです。

実装例は次のとおりです。

    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()

于 2013-02-26T10:40:41.600 に答える