gpt4 book ai didi

java - SwingX 自动完成装饰器 : no suitable methode found for decorate

转载 作者:太空宇宙 更新时间:2023-11-04 08:22:58 25 4
gpt4 key购买 nike

我第一次尝试测试 SwingX,为此,我阅读了文档:http://www.jdocs.com/swingx/1.0/org/jdesktop/swingx/autocomplete/AutoCompleteDecorator.html

我想对这样的 JTextField 提出建议:

List items = [...];

JTextField textField = [...];

AutoCompleteDecorator.decorate(textField, items);

所以我在netbeans上创建了一个项目,这是我的代码:

package test_swingx;

import java.awt.Dimension;
import java.awt.HeadlessException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator;

/**
*
* @author marwen
*/
public class Test_swingx extends JFrame {

public Test_swingx(String title) throws HeadlessException {

this.setTitle(title);
JPanel pan=new JPanel();
JTextField jtf=new JTextField();
jtf.setColumns(20);
List items = new ArrayList();
items.add("hello");
items.add("marwen");
items.add("allooo");
AutoCompleteDecorator.decorate(jtf, items);
pan.add(jtf);
this.setContentPane(pan);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(280, 150, 500, 200);

}


public static void main(String[] args) {

Test_swingx tsx=new Test_swingx("helloo swingx");

}
}

enter image description here

我收到此错误:

no suitable methode found for decorate....

我很好地遵循了语法,但我不明白错误来自哪里?有什么帮助吗?

最佳答案

您的方法装饰调用已解析为下面的第一个方法,该方法是不正确的。第二种方法装饰预期的 JList 而不是列表。

public static void decorate(JComboBox comboBox, ObjectToStringConverter stringConverter)
public static void decorate(JList list, JTextComponent textComponent)

但是,如果你仍然想使用List,你应该使用这个方法,

public static void decorate(JTextComponent textComponent, List<?> items, boolean strictMatching)

我已经用这个更改了您问题中的错误部分。

import java.util.ArrayList;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.text.JTextComponent;

import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator;

public class Test_swingx extends JFrame
{

public Test_swingx(String p_title)
{
this.setTitle(p_title);
JPanel pan = new JPanel();
JTextComponent jtf = new JTextField();
((JTextField) jtf).setColumns(20);
List items = new ArrayList();
items.add("hello");
items.add("marwen");
items.add("allooo");
AutoCompleteDecorator.decorate(jtf, items, false);
pan.add(jtf);
this.setContentPane(pan);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setBounds(280, 150, 500, 200);
}

public static void main(String[] args)
{
Test_swingx tsx = new Test_swingx("helloo swingx");
tsx.setVisible(true);
}

}

关于java - SwingX 自动完成装饰器 : no suitable methode found for decorate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9169859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com