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

2024-12-28 07:18:07
推荐回答(5个)
回答1:

做了两年SWING,可没做个这个,点击后复制内容到粘贴板的就有

回答2:

做一个类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();

回答3:

配置一个监听器就行了,swing好久没做了,叫ActionEvent还是ActionListener呢来着。

回答4:

是行还是列。搞SWING的我建议看看一本书叫SwingHacks,这本书中有很多技巧,之前看过好像有提到你说的这个功能。

回答5:

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;
}
});
加个这个玩意就可以了。