複数行のセルが必要な JTable を持つアプリを開発しています。したがって、私は JTextArea を拡張しましたが、セルを編集しようとすると、すべてが noce で表示されます。テキストは 1 行で表示され、編集後に複数行になります。編集中にテキストを複数行のままにしたい。それを行う方法はありますか?
質問する
1922 次
1 に答える
8
(JTextField を使用するデフォルトの動作ではなく) JTextArea を使用してTableCellEditorを作成し、それを JTable に設定します。
必要に応じて、 JEditorPaneを使用してテキスト スタイルをサポートすることもできます。
---- 編集 2 ----
新しい TableCellEditor:
class MyTableCellEditor extends AbstractCellEditor implements TableCellEditor {
JComponent component = new JTextArea();
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,
int rowIndex, int vColIndex) {
((JTextArea) component).setText((String) value);
return component;
}
public Object getCellEditorValue() {
return ((JTextArea) component).getText();
}
}
于 2012-09-11T22:07:32.220 に答える