Я изучаю различные способы проверки ввода для редактируемого 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())
Замените JTextField JComboBox на JFormattedTextField.
Вы можете использовать верификатор ввода в качестве альтернативы пользовательскому формататору
// set the input verifier
setInputVerifier(verifier);
class MyVerifier extends InputVerifier implements ActionListener
{
public boolean shouldYieldFocus(JComponent input) {}
}
Спасибо.