ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-更改JComboBox箭头按钮的图标

2019-11-01 01:03:31  阅读:446  来源: 互联网

标签:jcombobox look-and-feel swing java synth


谢谢您的回复

但这是我想做的:

当在可编辑的组合框中按下一个键时,我希望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返回文档(从JComboBox / JSpinner派生的JTextField或JFormattedTextField)
>将Icon放入保存到Synt的xml文件中的定义中,可以通过从JComboBOx派生SynthButtonUI进行测试
>从Synth L& F使用Nimbus
>使用Custom Look and Feel,其中一部分直接从BasicXxxUI覆盖方法

标签:jcombobox,look-and-feel,swing,java,synth
来源: https://codeday.me/bug/20191101/1979993.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有