在可编辑的JComboBox中设置插入位置

时间:2011-07-15 02:14:08

标签: java swing jcombobox caret

当从比组合框宽的组合框中选择项目时,字符串的末尾被截断以仅显示适合的字符串的开头部分。 当组合框被设置为可编辑时,它是显示的字符串的结尾,并且开头被截断(这是有意义的,就像用户键入它一样)

有没有办法将插入符号位置设置为条目的开头以显示值的开头,同时仍允许组合框可编辑?这是通过为组合框编写自定义编辑器来实现的吗?

1 个答案:

答案 0 :(得分:3)

这是一种方式:

JComboBox comboBox = new JComboBox( ... )
{
    @Override
    public void setSelectedItem(Object item)
    {
        super.setSelectedItem( item );
        ComboBoxEditor editor = getEditor();
        JTextField textField = (JTextField)editor.getEditorComponent();
        textField.setCaretPosition(0);
    }
};