作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不太确定如何措辞标题而不使其成为一个段落。
基本上,我的程序中有一个JTable
,我不能让用户编辑它。但程序必须能够自行编辑它。此外,必须允许用户实际从表中的单元格中选择和复制文本,但不能编辑它。
我怎样才能实现这个目标?最好是通用解决方案,以便它可以应用于我的程序中具有不同布局等的多个表。
最佳答案
您需要将表的选择属性设置为 true,如下所示。您还必须确保重写 isCellEditable 方法并将其设置为 false,AbstractTableModel 类默认执行此操作。
final JTable table = new JTable(new AbstractTableModel() {
@Override
public Object getValueAt(int r, int c) {
return data[r][c];
}
@Override
public int getRowCount() {
return data.length;
}
@Override
public int getColumnCount() {
return data[1].length;
}
});
table.setRowSelectionAllowed(true);
table.setColumnSelectionAllowed(true);
table.setCellSelectionEnabled(true);
这将允许单独突出显示单元格并从中复制,但不允许编辑单元格。
编辑:更改答案!
关于java - 允许 JTable 仅由程序编辑,但允许用户从中复制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941342/
这个问题在这里已经有了答案: Is a moved-from vector always empty? (4 个答案) 关闭 4 年前。 从 std::vector move 数据后,它的容量是否必
我是一名优秀的程序员,十分优秀!