我必须创建一个搜索窗口,例如谷歌浏览器窗口。它必须有一个包含类似结果的下拉列表,该列表是从数据库中填充的。
我正在尝试调整一个 JCombobox 但这给我带来了很多麻烦。有一个更好的方法吗?(也许Java中已经存在类似的东西。)如果没有,有人可以建议我如何实现我的目标吗?
使用键盘事件创建 JTextField 以在键释放时显示弹出窗口,示例:
jTextField2.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
showPopup(evt);
}
});
void showPopup(java.awt.event.KeyEvent evt) {
JPopupMenu popup = new JPopupMenu();
popup.setLightWeightPopupEnabled(false);
popup.setBorder(BorderFactory.createLineBorder(Color.black));
popup.setLayout(new BorderLayout());
popup.setSize(this.getPreferredSize());
popup.setPreferredSize(this.getPreferredSize());
popup.pack();
popup.setOpaque(false);
// create panel that contains the search result
popup.add(BorderLayout.CENTER, <YOUR PANEL WITH THE RESULT>);
popup.setPreferredSize(new Dimension(jTextField2.getWidth(),250));
<SEARCH PANEL>.setPreferredSize(new Dimension(jTextField2.getWidth(),250));
popup.show(jTextField2, 0, jTextField2.getHeight());
}
我必须像谷歌浏览器窗口一样搜索窗口。它必须具有来自数据库的相似性结果的下拉列表。我试图调整 JCombobox 但这给我带来了很多麻烦。
也许不是真的,我会使用AutoComplete JComboBox / JTextField