Bra*_*rad 0 java swing jcombobox backspace substance
我正在使用物质L&F并且我已设置JComboBox为可编辑,以便我可以从其弹出窗口中选择我想要的值,或在其编辑器中键入新值.
键入一个新值工作正常,但如果我想从Combo编辑器中删除一个未命名的字母,然后单击Backspace来执行此操作,它会选择编辑器中的字母而不是删除它们.这是一个截图:
我希望Combo编辑器在输入键盘字母或退格键或删除键时像JTextField一样工作,那么有没有办法做到这一点?或者是什么导致了这个?
请参阅下面的SSCCE的重要性,而不是出错的一切都是一个错误,大多数情况下你的实际代码出错了,没有SSCCE,我们不是更明智的.
似乎对我工作正常:
在启动时:

选择JComboBox并按下后Backspace:

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class Test {
public Test() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
JComboBox jc = new JComboBox(new String[]{"Hello", "Bye", "World", "Cruel"});
jc.setEditable(true);
frame.add(jc);
frame.pack();
frame.setVisible(true);
}
});
}
public static void main(String[] args) {
new Test();
}
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
根据你的评论:
我觉得它不会好起作用!......这是物质中的一个问题; 我正在使用的L&F.
有关Bug的详细信息,请参见下文:
就像声明的那样:
此行为是设计使然.这是Substance的"感觉"部分,可在可编辑的组合框中添加自动完成功能.
更新2:
感谢@Brad(用于解密我从Substance:P链接的错误日志)修复此问题,只需执行以下操作:
UIManager.put( LafWidget.COMBO_BOX_NO_AUTOCOMPLETION, Boolean.TRUE );
Run Code Online (Sandbox Code Playgroud)