2012-02-02 28 views
1

Netbeansを使用してJTableでEmployee Dataを入力しています。各行にRadiobuttonを追加して、ユーザーが任意の行を選択できるようにし、更新/削除などのアクションを実行できます。ここ はTableModelのための私のコードです:私はラジオボタンを挿入したいすべての行の最初の列にJTable Netbeansにラジオボタンを挿入

DefaultTableModel model = new DefaultTableModel(); 

    model.setColumnIdentifiers(new String[] {"Select","Employee ID","Name","Surname","Birth Place","Genre","Home","Marital Status","Phone","Age","Department"}); 
    try{ 
    con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/"+database,"root","123456"); 
    Statement s = con.createStatement(); 
    s.executeQuery ("SELECT * FROM Employee"); 
    ResultSet rs = s.getResultSet(); 
    rs.next(); 
    String eid = rs.getString ("emp_no"); 
    String name = rs.getString ("name"); 
    String surname = rs.getString ("surname"); 
    String pbirth = rs.getString ("place_birth"); 
    String genre = rs.getString ("genre"); 
    String home = rs.getString ("home"); 
    String mstatus = rs.getString ("marital_status"); 
    String ph = rs.getString ("phone"); 
    int age = rs.getInt ("age"); 
    String dept = rs.getString ("department"); 
    for(int i=0;i<30;i++) 
    model.addRow(new Object[] {?,eid, name, surname, pbirth, genre, home, mstatus, ph, age, dept}); 
    } 
    catch (Exception e){ 

    } 
    this.jTable1.setModel(model); 

。私に提案してください。ありがとう。

答えて

3

0123を実装する必要がありますこの

public java.awt.Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) 

{ 
      return new JRadioButton(); 
} 

希望のようなと上書きgetTableCellEditorComponentはこの役立ちます

EDIT: はあなたがにセルエディタの実装を取り出すことができる。この

this.jTable1.getColumnModel().getColumn(0).setCellEditor(new javax.swing.table.TableCellEditor(){ 
    @Override 
    public java.awt.Component getTableCellEditorComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, int row, int column) { 
     return new javax.swing.JRadioButton(); 
    } 

    @Override 
    public java.lang.Object getCellEditorValue() { 
return null;//Here you can return the radio button status 
    } 

    @Override 
    public boolean isCellEditable(java.util.EventObject anEvent) { 
     return false; //uneditable cell 
    } 

    @Override 
    public boolean shouldSelectCell(java.util.EventObject anEvent) { 
     return false; 
    } 

    @Override 
    public boolean stopCellEditing() { 
     return true; 
    } 

    @Override 
    public void cancelCellEditing() {  
    } 

    @Override 
    public void addCellEditorListener(javax.swing.event.CellEditorListener l) { 
    } 

    @Override 
    public void removeCellEditorListener(javax.swing.event.CellEditorListener l) { 
    } 

}); 

のように書くことができます別クラス。

また、必要に応じてフラグを設定する必要があります。

+0

こんにちは、私のコードコンテキストでこのメソッドをどのように呼び出すべきか教えてください。 – Azeem

+0

@RaviG JRadioButtonのRenderer/Editorをよく見たことがありません。ButtonGroupにJRadioButtonを実装したいと思うかもしれません。 – mKorbel

+0

@NidaSulheri自分の編集を見てください。 –

4

JTableJCheckBoxだけBoolean

  • があなたの手で

  • をコードを書く、NetBeansのから生成されたコードを使用していないrespresentsので、私は、 JCheckBox

    1. 変更JRadioButtonをお勧めしたいです

    +0

    私はチェックボックスの使用に問題はありませんが、atleastはjtableの最初の列にチェックボックスを追加するコードを与えてくれます!!! 私は上記のコードで見ることができるようにテーブルモデルをカスタマイズしました。つまり、私の手でテーブルコードを書いていることを意味します。 – Azeem

    +1

    @Nida Sulheriは、チュートリアル、それらの3クォータにはJTableのJCheckBoxが含まれています – mKorbel

    関連する問題