以下に示すように、JTableにデフォルトのフォントを設定しました
myTable.setFont(new java.awt.Font("Verdana", 1, 10));
一部のデータがセルに入力されている間に、JTable に大きなフォントを表示したかったので、MyTableCellEditorカスタム クラスを使用しました。
public class MyTableCellEditor extends AbstractCellEditor implements TableCellEditor {
JComponent component = new JTextField();
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,
int rowIndex, int vColIndex) {
((JTextField) component).setText((String) value);
((JTextField) component).setFont(new Font("Verdana", 1, 12));
return component;
}
public Object getCellEditorValue() {
return ((JTextField) component).getText();
}
}
以下は、CustomCellEditor をテーブルにアタッチしたコードです。
myTable.getColumnModel().getColumn(1).setCellEditor(new MyTableCellEditor());
しかし、このコードは機能していないようです。編集中にセルのフォントが小さくなり、編集を終了してEnterキーを押すと、設定したデフォルトのJTableフォント(Verdana 10)が有効になります.なぜこれが起こっているのですか?CustomCellEditor フォントを ( Verdana 12 ) としてセルに設定しました。