JFrame中的自动完成装饰器

时间:2014-04-08 13:45:55

标签: java swing

我正在学习Swing并尝试使用自动完成作为练习制作文本编辑器。我使用Netbeans。

当我创建JFrame并向其添加文本区域时,我最终得到了这样的自动生成的代码:

package javaapplication5;
public class NewJFrame extends javax.swing.JFrame {
    public NewJFrame() {
        initComponents();
    }

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jScrollPane1 = new javax.swing.JScrollPane();
    jTextArea1 = new javax.swing.JTextArea();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jTextArea1.setColumns(20);
    jTextArea1.setRows(5);
    jScrollPane1.setViewportView(jTextArea1);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE)
    );

    pack();
}// </editor-fold>                        

public static void main(String args[]) {
   java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new NewJFrame().setVisible(true);
        }
    });
}
// Variables declaration - do not modify                     
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
// End of variables declaration                   

}

我想尝试的是应用

中描述的自动填充装饰器
http://www.jdocs.com/swingx/1.0/org/jdesktop/swingx/autocomplete/AutoCompleteDecorator.html

当我尝试

List list = Arrays.asList("A", "B", "C");
AutoCompleteDecorator.decorate(jTextArea1, list);

结果为:

error: <identifier> expected
AutoCompleteDecorator.decorate(jTextArea1, list);

代码有什么问题?

1 个答案:

答案 0 :(得分:2)

在Google中搜索AutoCompleteDecorator api,您的签名没有办法。如果是strictMatching,则必须将布尔值作为参数传递。

AutoCompleteDecorator.decorate(jTextArea1, list,true);