編集可能なJComboBoxの入力を検証するさまざまな方法を調べています。現在、入力を指定範囲の数値に制限する必要があります。これまでのところ、私は3つの異なる方法を見つけました。これにアプローチするための最良の方法について何か考えはありますか?
JComboBox comboBox = new JComboBox(
new Object[] {"Donnie", "Danny", "Joey", "Jordan", "Jonathan"}
);
comboBox.setEditable(true);
メソッドinsertStringおよびremoveをオーバーライドする特殊なドキュメントを実装することにより、ユーザー入力を制御します。
// get the combo boxes editor component JTextComponent editor = (JTextComponent) comboBox.getEditor().getEditorComponent(); // change the editor's document editor.setDocument(new BadDocument())
JComboBoxのJTextFieldをJFormattedTextFieldに置き換えます。
カスタムフォーマッタの代わりに入力ベリファイアを使用できます
// set the input verifier setInputVerifier(verifier); class MyVerifier extends InputVerifier implements ActionListener { public boolean shouldYieldFocus(JComponent input) {} }
ありがとう。