所以我写了一个javafx应用程序,我需要能够从列表视图中选择单元格(用于复制粘贴的目的),但我不想让它可编辑,我的意思是,内容不能改变,除非我想(例如通过按钮)。如何使ListView可选但不可编辑
所以我有以下代码:
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.control.cell.TextFieldListCell;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
List<String> contacts = new ArrayList<>(Arrays.asList("968787522","3424234234","2343234324"));
ListView<String> contactsList = new ListView();
contactsList.setItems(FXCollections.observableArrayList(contacts));
//this gives me the ability to edit the row as text field but I want this text field to not be editable
contactsList.setCellFactory(TextFieldListCell.forListView());
StackPane pane = new StackPane();
pane.getChildren().add(contactsList);
primaryStage.setScene(new Scene(pane, 300, 275));
primaryStage.show(); }
public static void main(String[] args) {
launch(args);
}
}
,如果我设置“contactsList”作为不可编辑,我不能编辑,既没有选择。你可以看到(图像波纹管),我正在编辑单元格,但我希望能够选择文本(而不是项目),但我不想删除字符(文本可选但不可编辑)。
您的代码工作正常,我。 [编辑]你的问题,以包括一个[MCVE],演示问题。 –
@James_D编辑。希望它更好。 –