0
////DOB column formats to dd/mm/yy
TableColumn dobColumn = table.getColumnModel().getColumn(3);
DateFormat df = new SimpleDateFormat("dd/mm/yy");
JFormattedTextField tf = new JFormattedTextField(df);
tf.setColumns(8);
try {
MaskFormatter dobMask = new MaskFormatter("##/##/##");
dobMask.setPlaceholderCharacter('0');
dobMask.install(tf);
} catch (ParseException ex) {
Logger.getLogger(DisplayStudents.class.getName()).log(Level.SEVERE, null, ex);
}
dobColumn.setCellEditor(new DefaultCellEditor(tf));
비슷한 과정을 수행하여 열의 셀을 ComboBox 또는 CheckBoxes로 변환했습니다. 이러한 열 내부의 셀은 ComoboBoxes/CheckBoxes로 설정되어 있지만 DOB 열의 셀 편집기를 마스크가있는 JFormattedTextField로 설정하면 마스크가 열에서 클릭하는 첫 번째 셀에만 적용됩니다.내 JTable의 열에 MaskFormatter를 적용했지만 마스크는 첫 번째 셀에서만 사용되었습니다. 열에서 편집합니다.
편집 :
public class TableExample extends JFrame {
public TableExample() {
add(makeTable());
}
private JTable makeTable() {
Object[][] tableData = {{"","a","b",""}, {"","c","d",""}};
String[] columns = {"comboBox column", "column2", "column3", "dobColumn"};
JTable table = new JTable(tableData, columns);
////turn into a combo box
TableColumn comboColumn = table.getColumnModel().getColumn(0);
JComboBox<String> comboBox = new JComboBox<String>();
comboBox.addItem("1st");comboBox.addItem("2nd");
comboColumn.setCellEditor(new DefaultCellEditor(comboBox));
////DOB column formats to dd/mm/yy
TableColumn dobColumn = table.getColumnModel().getColumn(3);
DateFormat df = new SimpleDateFormat("dd/mm/yy");
JFormattedTextField tf = new JFormattedTextField(df);
tf.setColumns(8);
try {
MaskFormatter dobMask = new MaskFormatter("##/##/##");
dobMask.setPlaceholderCharacter('0');
dobMask.install(tf);
} catch (ParseException ex) {
Logger.getLogger(TableExample.class.getName()).log(Level.SEVERE, null, ex);
}
dobColumn.setCellEditor(new DefaultCellEditor(tf));
return table;
}
public static void main(String[] args) {
JFrame frame = new TableExample();
frame.setSize(300, 300);
frame.setVisible(true);
}
}
에서 발생할 때마다 마스크를 다시는 tableChange 방법을 구현하기로 결정'나는 그 열을 내부 선택 상자 또는 체크 박스와 모든 세포로 열에서 셀을 설정하는 유사한 과정을 따랐습니다 ComoboBoxes/CheckBoxes로 설정되었습니다. '- 작동 방식에 동의했습니다. 문제를 보여주는 [SSCCE] (http://sscce.org/)를 게시하십시오. – camickr