所有人都在标题中 我不明白这个问题有点不同,我为两个不同的程序使用了相同的Object(List)而且第二次没有用,请参阅:
private void jMenuItem23ActionPerformed(java.awt.event.ActionEvent evt) {
init_creer_client();
List items = new ArrayList();
items.add("mawren");
items.add("blabla");
items.add("Bonjour");
CL.show(cartes,"creer_client");
}
有关错误的屏幕截图:
在这里工作顺利:
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;
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,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");
}
}
任何人都可以向我解释一下吗?
答案 0 :(得分:4)
你有一个java.awt.List导入应该是java.util.List
答案 1 :(得分:3)
这是因为左侧的List
是java.awt.List
而不是java.util.List
。
尝试将行更改为:
java.util.List items = new ArrayList();
这可能是因为您要导入java.awt.*
和 java.util.List
。如果您可以更改导入这些类的方式,则可以避免使用内联类型命名空间。
答案 2 :(得分:1)
不,编译好:
package cruft;
import java.util.ArrayList;
import java.util.List;
/**
* ListExample description here
* @author Michael
* @link
* @since 2/11/12 7:27 PM
*/
public class ListExample {
public static void main(String[] args) {
List items = new ArrayList();
for (String arg : args) {
items.add(arg);
}
System.out.println(items);
}
}
运行良好:
"C:\Program Files\Java\jdk1.7.0_02\bin\java" -Didea.launcher.port=7536 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 111.255\bin" -Dfile.encoding=UTF-8 -classpath . com.intellij.rt.execution.application.AppMain cruft.ListExample foo bar baz bat
[foo, bar, baz, bat]
Process finished with exit code 0
答案 3 :(得分:0)
完整性检查:您是否导入了import java.util.List
和import java.util.ArrayList
?
答案 4 :(得分:0)
检查您的导入,因为java.awt.List
与java.util.List
不同。
答案 5 :(得分:0)
我认为混淆来自于在不同的包中有两个List
类型,正如错误消息所示。您没有提供生成错误的所有代码,但我认为修复的合理开始是将突出显示的行更改为:
java.util.List items = new ArrayList();
并确保您已导入java.util.*