可编辑的 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 教程部分了解更多信息。
我的 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 教程部分了解更多信息。