JavaFXのコンボボックスの入力を無効にします

Filipka:

どのように私は私の編集可能なコンボボックスの無効入力のですか?(まあ、実際にJFoenix JFXComboboxが、それは離れて、それの外観から、基本的には同じです)

setEditable(false) コンボボックスが、リストになり無効にキーボード入力がまだ表示されます

setDisabled(true) 全体のコンボボックスを無効にしますが、私は、ユーザーが、不可欠な場合は、彼はそれの内容をコピーすることができるようにコンボボックスを集中できるようにしたいでしょう。

なぜ私はそのようにしたいですか?私のフォームのユーザーには最初のものを変更できるように編集ボタンをクリックする必要があります。

codeflush.dev:

基本的に、この方法は、ComboBox.setEditableを介して取得することができるコンボボックスにエディタを削除/追加しますComboBox.getEditor()

TextFieldの(からコピーする)が、無効にするユーザ入力を維持するには、単に設定editable根底にあるのTextFieldにフラグを:

private ComboBox<String> myComboBox;
[...]

myComboBox.setEditable(true);
myComboBox.getEditor().setEditable(false);

EDIT:

@jewelseaは以下のコメントで言ったように、あなたはすぐにそれを開くためにユーザの要求などとしてリストを非表示にすることができます:

myComboBox.setOnShown(event -> comboBox.hide());

私はドロップダウンを開きますが、残念ながら私はまだそれをする方法を発見していないボタンを無効にするには、「クリーン」になると思います。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=333010&siteId=1