Код ниже имеет ошибку. После загрузки JFrame нажмите вкладку, чтобы сфокусироваться на JComboBox, и попробуйте нажать клавишу «вниз». Он ничего не делает.Nulls In JComboBox Остановка клавиши со стрелкой
Ввод нулевого значения в положение 0 вызывает это. Тем не менее, я все равно хотел бы иметь возможность выбрать Null. Я не хочу заставлять пользователя выбирать вариант.
package kobalt.test.colin;
import java.awt.*;
import javax.swing.*;
public class ColinTest extends JFrame {
private JTextField mTextField;
private JComboBox mComboBox;
public ColinTest(){
setLayout(new BorderLayout());
mTextField = new JTextField("Something");
mComboBox = new JComboBox(new String[]{"One", "Two"});
mComboBox.insertItemAt(null, 0); //this line causes the bug
add(mTextField, "North");
add(mComboBox, "South");
pack();
setVisible(true);
}
public static void main(String[] argv) {
new ColinTest();
}
}
Есть ли что-то, что я могу переопределить в JComboBox, чтобы исправить это поведение?
Мне действительно не нравится вставлять пустую строку в позицию 0, так как мне придется иметь дело с этим всюду.
Использование объекта Wrapping может быть вариантом, но я предпочел бы расширить, а затем переопределить что-то в JComboBox.
Я пошел с оберткой, спасибо. Я не был поклонником предложения «могут быть другие методы, которые тоже нужно переопределить» :) – colinjwebb