我正在尝试使用Javafx创建表,我需要一些列单元格可以选择但不可编辑,
如果我使用过:json.decode(response).keys()
但它将使其可编辑
如果我使用了textColumn.setEditable(true);
,它将既不可选择也不可编辑
如何使列可选但不可编辑?
这是我的代码示例
textColumn.setEditable(false);
答案 0 :(得分:1)
TableView
没有默认的复制机制(列可能包含任意值类型,在复制到剪贴板时可能需要使用Costom处理)。如果需要,您应该自己实施复制机制。
示例:
tableView.setOnKeyReleased(evt -> {
if (evt.isControlDown() && evt.getCode() == KeyCode.C) {
List<TablePosition> selectedCells = table.getSelectionModel().getSelectedCells();
if (!selectedCells.isEmpty()) {
TablePosition selectedCell = selectedCells.get(0);
if (selectedCell.getTableColumn() == textColumn) {
String value = textColumn.getCellData(selectedCell.getRow());
Clipboard clipboard = Clipboard.getSystemClipboard();
ClipboardContent content = new ClipboardContent();
content.putString(value);
clipboard.setContent(content);
}
}
}
});
除了要做之外,还需要做
tableView.getSelectionModel().setCellSelectionEnabled(true);
假定您使用的是标准单元格类型。