2013-02-23 61 views
0

我想在JTable Cell中添加一個JDateChooser。 我知道如何添加文本框,組合框和複選框。JTable Cell中的JDatechooser

我允許用戶輸入數據到表中。用戶應該能夠爲每一行選擇一個日期。

任何幫助,將不勝感激。
謝謝

回答

4

閱讀Swing教程Using Other Editors中的部分。

它顯示瞭如何使用JColorChooser創建自定義編輯器。我猜想代碼會類似於使用JDateChooser。

+1

@Prabhath:這[示例](http://stackoverflow.com/a/14880675/230513)使用[tag:jcalendar]可能會指導您。 – trashgod 2013-02-23 05:11:14

0

設置CellEditor的如下:

table.getColumnModel().getColumn(1).setCellEditor(new JDateChooserEditor(new JCheckBox())); 

/********* *******************************************/

這裏是JDateChooserEditor代碼:

class JDateChooserEditor extends DefaultCellEditor 
{ 
    public JDateChooserEditor(JCheckBox checkBox) 
    { 
    super(checkBox); 

    } 

    JDateChooser date; 
    public Component getTableCellEditorComponent(JTable table, Object value, 
     boolean isSelected, int row, int column) 
    { 

     date = new JDateChooser(); 
     date.setDateFormatString("dd-MM-yyyy"); 
     return date; 
    } 

    public Object getCellEditorValue() 
    { 
    return new String(((JTextField)date.getDateEditor().getUiComponent()).getText()); 
    } 

    public boolean stopCellEditing() 
    { 
    return super.stopCellEditing(); 
    } 

    protected void fireEditingStopped() { 
    super.fireEditingStopped(); 
    } 
} 

Screen Shot