我在我的JFrame
中有一个JComboBox
对象,其行为与预期完全相同。但是,我想让它可编辑,以便用户可以根据需要输入其他值。不幸的是,使用setEditable(true)
启用编辑会导致其宽度显着增加。我如何允许编辑JComboBox
,同时保持宽度只有最大可选项目所需的宽度?在不影响宽度的情况下编辑JComboBox
的JComboBox
是与FlowLayout
一个JPanel
,但是我不认为这是相关的,因为改变JPanel
的宽度不影响JComboBox
的宽度。
到目前为止,我发现产生期望的行为的唯一方法是: 'comboBox.setPreferredSize(新java.awt.Dimension中(50,22)) ;' –
你是什么意思“唯一的方法”。我给了你一个解决方案,允许你指定你想要显示的字符数,所以你不必硬编码实际的尺寸。 – camickr
我的歉意。当我最初尝试你的解决方案时,我在运行'pack()'之前运行'comboBox.setEditable(true)',导致代码无法工作。当我在'pack()'之后移动它时,您的代码按预期工作。我不确定它为什么会有所作为... –