【发布时间】:2011-07-15 02:14:08
【问题描述】:
当从一个长于组合框宽度的组合框中选择的项目时,字符串的结尾将被截断以仅显示适合的字符串的开始部分。 当组合框设置为可编辑时,它是显示的字符串的结尾,开头被截断(这是有道理的,就好像用户输入了它一样)
有没有办法将插入符号位置设置为条目的开头以显示值的开头,同时仍然允许组合框可编辑?这是通过为组合框编写自定义编辑器来实现的吗?
【问题讨论】:
标签: java swing jcombobox caret
当从一个长于组合框宽度的组合框中选择的项目时,字符串的结尾将被截断以仅显示适合的字符串的开始部分。 当组合框设置为可编辑时,它是显示的字符串的结尾,开头被截断(这是有道理的,就好像用户输入了它一样)
有没有办法将插入符号位置设置为条目的开头以显示值的开头,同时仍然允许组合框可编辑?这是通过为组合框编写自定义编辑器来实现的吗?
【问题讨论】:
标签: java swing jcombobox caret
这是一种方式:
JComboBox comboBox = new JComboBox( ... )
{
@Override
public void setSelectedItem(Object item)
{
super.setSelectedItem( item );
ComboBoxEditor editor = getEditor();
JTextField textField = (JTextField)editor.getEditorComponent();
textField.setCaretPosition(0);
}
};
【讨论】: