可编辑的 JComboBox / JTextField 中的搜索图标

Search Icon inside a Editable JComboBox / JTextField


我的 Java swing 应用程序中有一个 Editable JComboBox 搜索字段 。我想保存搜索框 header 的 space 并将搜索图标 放在 editable jcombobox 内,将其描述为搜索字段。这看起来应该与 Facebook 搜索字段非常相似。
所以,我的问题是,有没有办法在 Java 中实现这样的事情?作为初学者,我的想法是无效的。任何建议/帮助都会对我产生积极影响。

谢谢

您可以在作为文本字段的组合框的编辑器上使用自定义边框:

ComboBoxEditor editor = comboBox.getEditor();
JTextField textField = (JTextField)editor.getEditorComponent();
Border outer = textField.getBorder();
Border search = new MatteBorder(0, 16, 0, 0, new ImageIcon("search.gif"));
textField.setBorder( new CompoundBorder(outer, search) );

MatteBorder 会在 Border 中平铺图像,因此您需要确保图像与文本字段大小相同,或者您创建一个只绘制图像一次的自定义 Border。

阅读 How to Use Borders 上的 Swing 教程部分了解更多信息。