10

jComboboxのsetEditable()とsetEnabled()の違いは何ですか?コンボボックスを編集可能にすることはできますが、有効にすることはできませんか?どのような状況でどの方法を使用しますか?

setEditable(true)と一緒にsetEnabled(false)を実行する状況を想像できますか?

4

3 に答える 3

23

setEditable(boolean)JComboBoxプルダウンによる値の選択に加えて、テキスト入力を許可するかどうかを決定します。

setEnabled(boolean)JComboBoxと対話できるかどうかを決定します。有効になっていない場合はグレー表示されます。

AJComboBoxは、これらのプロパティの任意の組み合わせを持つことができます -

  • setEditable(true)+ setEnabled(true)=JComboBoxプルダウン値に加えてテキスト入力を許可し、ユーザーはそれを操作できます。
  • setEditable(false)+ setEnabled(true)=JComboBoxプルダウンからの値の選択のみを許可し、ユーザーはそれを操作できます。
  • setEditable(true)+ setEnabled(false)=JComboBoxプルダウン値に加えてテキスト入力を許可しますが、ユーザーはそれを操作できません。
  • setEditable(false)+ setEnabled(false)=JComboBoxプルダウンからの値の選択のみを許可し、ユーザーはそれを操作できません。

JComboBoxwithがあり、テキスト入力を許可するが必要な場合がsetEnabled(false)ありsetEditable(true)ますが、フォームは の値が適用されない状態にあります。通常、適用可能になったときにを呼び出す何らかのアクションがあります。 JComboBoxJComboBoxsetEnabled(true)JComboBox

たとえば、学生寮のフォームのようなものがある場合、フォームに「駐車スペースは必要ですか?」などの質問が表示される場合があります。とJCheckbox。車のJComboBoxブランドJTextFied用の とナンバー プレート番号用の があります。JComboBoxFord、Chevy、Toyota、Honda などの一般的な自動車ブランドが事前入力されている場合がありますが、誰かが Lamborghini のようなものを所有している (学生寮に滞在している) 場合に備えて、編集可能にすることも決定します。そうだね...)。JCheckBoxユーザーが駐車スペースが必要であることを示すものを選択しない限り、車のブランドとナンバー プレート番号の値は必要ありません。が選択されたときと選択されなかったときにJCheckBoxを呼び出すリスナーを に追加します。setEnabled(true)JComboBoxJTextFieldsetEnabled(false)

于 2009-10-20T13:14:59.620 に答える
7

を呼び出すsetEditable(true)と、JComboBox のテキスト フィールドが編集可能になり、ユーザーはリストから項目を選択するだけでなく、キーボードでテキストを入力できるようになります。

を呼び出すsetEnabled(false)と、コントロール全体が無効になり、ユーザーはコントロールをまったく操作できなくなります。

于 2009-10-20T12:08:45.213 に答える
1

SetEnable()-コンボボックスを有効にして、アイテムを選択できるようにします。

SetEditable()-JComboBoxフィールドが編集可能かどうかを判別します。

于 2009-10-20T12:06:31.770 に答える