我需要创建一个文本框,该文本框可以自动完成用户输入的内容。我想要一个JComboBox之类的东西,只要用户根据一组可能性输入一个新字符,它就可以更新。我想通过扩展JPanel或JComponent来创建自己的自定义组件来做到这一点。我不确定的是如何制作可以浮在所有其他内容上的框架。就像当您单击JComboBox的下拉菜单时,如何放置一个漂浮在背景上方和文本框下方的可能性列表?

最佳答案

您需要在项目上导入SwingX(最新版本):

import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator;


AutoCompleteDecorator此类仅包含可用于为某些Swing组件设置自动完成功能的静态实用程序方法。

将您的JComboBox传递给静态方法:

jComboBox1 = new javax.swing.JComboBox();
jComboBox1.setEditable(true);
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "alejandro", "berenice", "juan", "ana", "bartolo", "diana", "cesar" }));
jComboBox1.setName("jComboBox1");
AutoCompleteDecorator.decorate(this.jComboBox1);

07-26 09:29