所以我寫了一個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編輯。希望它更好。 –