Java javax.swing.JTable控件 当我点击某个单元格,如何能自动选中里面的文字。

双击一个单元格时,格里的全部内容为选取状态。
不是一行 也不是一列。而是第i行j列的单元格。
当我双击这个单元格的时候,里面的内容呢怎样自动作为全部被选定状态。

做了两年SWING,可没做个这个,点击后复制内容到粘贴板的就有
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-25
做一个类DataSet,继承TableModel接口的,然后覆盖isCellEditable方法,比如说第一行/第一列要编辑的,就这么写:
public boolean isCellEditable(int rowIndex, int columnIndex) {
return (rowIndex== 0 || columnIndex==0);
}
然后JTable.setModel(DataSet);
要退出编辑状态时候关闭编辑器:
int row=JTable.getSelectedRow();
int col=JTable.getSelectedColumn();
JTable.getCellEditor(row,col).stopCellEditing();
第2个回答  2011-02-20
配置一个监听器就行了,swing好久没做了,叫ActionEvent还是ActionListener呢来着。
第3个回答  2011-02-22
是行还是列。搞SWING的我建议看看一本书叫SwingHacks,这本书中有很多技巧,之前看过好像有提到你说的这个功能。
第4个回答  推荐于2018-04-13
table.setDefaultEditor(Object.class, new DefaultCellEditor(new JTextField()) {

@Override
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
final Component textField = super.getTableCellEditorComponent(table, value, isSelected, row, column);
if (textField instanceof JTextField) {
SwingUtilities.invokeLater(new Runnable() {

public void run() {
((JTextField) textField).selectAll();
}
});
}
return textField;
}
});
加个这个玩意就可以了。本回答被提问者和网友采纳
相似回答