Список элементов = новый ArrayList (): он не работает - PullRequest
2 голосов
/ 12 февраля 2012

Все в названии, Я не понимаю, проблема на этот раз немного отличается, я использовал один и тот же объект (список) для двух разных программ, и он не работает во второй раз, см .:

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");       
}   

скриншот об ошибке: enter image description here

минусы здесь его работа плавно:

 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");

}
}

Может кто-нибудь объяснить мне?

Ответы [ 6 ]

4 голосов
/ 12 февраля 2012

У вас есть импорт java.awt.List должен быть java.util.List

3 голосов
/ 12 февраля 2012

Это потому, что List слева - java.awt.List вместо java.util.List.

Попробуйте изменить строку на:

java.util.List items = new ArrayList();

Этовероятно, это происходит потому, что вы импортируете java.awt.* и java.util.List.Если вы можете изменить способ импорта этих классов, вы можете избежать использования пространства имен встроенным типом.

1 голос
/ 12 февраля 2012

Нет, хорошо компилируется:

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
0 голосов
/ 12 февраля 2012

Я думаю, что путаница возникает из-за наличия двух типов List в разных пакетах, как говорится в сообщении об ошибке.Вы не предоставляете весь код, который генерирует ошибку, но я думаю, что разумным началом исправления будет изменение выделенной строки на:

java.util.List items  = new ArrayList();

и убедитесь, что вы импортировали java.util.*

0 голосов
/ 12 февраля 2012

Проверьте ваш импорт, потому что java.awt.List не совпадает с java.util.List.

0 голосов
/ 12 февраля 2012

Проверка работоспособности: Вы импортировали import java.util.List и import java.util.ArrayList?

...