2

複数行のセルが必要な JTable を持つアプリを開発しています。したがって、私は JTextArea を拡張しましたが、セルを編集しようとすると、すべてが noce で表示されます。テキストは 1 行で表示され、編集後に複数行になります。編集中にテキストを複数行のままにしたい。それを行う方法はありますか?

4

1 に答える 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 に答える