[英]Change icon of JComboBox arrow button
谢谢你的答复
但这就是我想要做的:
当在可编辑的组合框中按下某个键时,我希望jcombobox的弹出菜单自动出现,并获得写在其中的文本,但是当我更改了箭头按钮的图标时,图标已更改,但弹出菜单没有按下键时出现t。
当我尝试在Windows外观中做到这一点时,它运行良好没有任何问题,但在Synth的外观和感觉,它没有用。 我搜索了两天,但我无法解决问题。
我试图使用文档监听器但没有改变或我没有正确使用它
我希望这次我的问题得到澄清
JTextField editor;
.
.
.
editor = (JTextField) jComboBox1.getEditor().getEditorComponent();
\\
editor.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
if (jComboBox1.isDisplayable())
{
jComboBox1.setPopupVisible(true);
}
System.out.println(editor.getText());
}
});
\\ change arrowbutton icon
jComboBox1.setUI(new SynthComboBoxUI() {
@Override
protected JButton createArrowButton() {
JButton btn = new JButton();
btn.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Image/error3.png")));
return btn;
}
});
不要使用KeyListener ,使用DocumentFilter过滤不需要的字符或DocumentListener
JTextComponents返回Document(从JComboBox
/ JSpinner
派生的JTextField
或JFormattedTextField
)
把图标 ,以保存到定义xml file
的Synt
,您可以通过从JComboBox中汲取SynthButtonUI来测试
从Synth L&F到使用Nimbus
使用自定义外观 ,其中一部分直接覆盖BasicXxxUI
方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.