2009-10-17 177 views
0

我创建了JTextPane作为单元格编辑器的JTable。我想停止单元格编辑,并且想要执行一些处理,如果我在JTextPane中按Enter键。而且我也想使用JTextPane中的单行。所以,我在JTextPane中添加keylistener并调用stopCellediting方法。但它不起作用,焦点在JTextPane中,如果我点击其他单元格,选定的行和选定的列不会改变。所以,请帮助我在JTextPane中使用单行,并停止单元格编辑默认单元格编辑器。谢谢很多!如何停止JTextPane中的单元格编辑,JTable的单元格编辑器

+0

这会帮助我们看到您的代码,所以我们可以看到你错在哪里。 –

+0

为什么您需要使用JTextPane进行单行输入?为什么不使用JTextField? –

回答

0

听起来像你想要一个自定义单元编辑器,它有一个keylistener,它监听“输入”键,然后进行所需的处理。

1

嗨,我刚刚遇到了同样的问题,我已经有一个自定义编辑器,并覆盖默认的解决了这个fireEditingCancled

private CelEditor extend AbstractCellEditor implements TableCellEditor 
{ 
    /* Other Code here for editor **/ 

    protected void fireEditingCanceled() 
    { 
      this.stopCellEditing(); 
    } 
} 

花了一段时间来弄清楚这一点,而且如果不工作,你可以尝试在取消函数中使用model.setObject(Object,row,col)。

相关问题