【问题标题】:Setting caret position in editable JComboBox在可编辑的 JComboBox 中设置插入符号位置
【发布时间】:2011-07-15 02:14:08
【问题描述】:

当从一个长于组合框宽度的组合框中选择的项目时,字符串的结尾将被截断以仅显示适合的字符串的开始部分。 当组合框设置为可编辑时,它是显示的字符串的结尾,开头被截断(这是有道理的,就好像用户输入了它一样)

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

【问题讨论】:

    标签: java swing jcombobox caret


    【解决方案1】:

    这是一种方式:

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

    【讨论】:

    • 感谢 camickr,就像一个魅力 - 我认为你必须能够做这样的事情,但不能完全解决
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 2014-03-10
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多