2015-03-05 5 views
0

У меня проблема с моим JComboBox.JComboBox не получает мои значения

описание: Я создаю новый файл, записав имя своего файла в текстовое поле. Нажав на кнопку, я создаю файл с этим значением и добавляю его в свой JComboBox, но я вижу только значение Object, например «[Ljava.io.FIle; @ 1b1428d», и это проблема. Пользователь даже не знает, что означает это значение, поэтому мне нужно имя файла. Я искал в течение длительного времени и Да toString() не работает: D

Мой код выглядит следующим образом: JComboBox TxtDoc = new JComboBox(create());

public File[] create(){ 
    FileSystemView SYSTEM = FileSystemView.getFileSystemView(); 
    String user = System.getProperty("user.home")+"\\notes"; 
    File userdir = new File(user); 
    File[] fileList = SYSTEM.getFiles(userdir, true); 
    return fileList; 


} 
newTxt.addMouseListener(new MouseAdapter() { 

     @SuppressWarnings("unchecked") 
     public void mouseClicked(MouseEvent event){ 
      new Documents().createTxtDoc(); // <-- this just open a new frame with my textfield and a button. 
      TxtDoc.addItem(create()); 



     } 
    }); 

поблагодарить Вас за помощь относительно Blank

ответ

1

итерация над ним:

for (File f : fileList) { 
     TxtDoc.addItem(f); 
    } 
+0

да я попробовал это, но я считаю, что у меня есть проблема, что мой FileSystemview не получает обновление (новый файл) но Иам рад за ответ – Blank

+0

, которые обновляют вы говорите? – 12dollar

+0

, что это была бессмыслица. Я нашел свою логическую неудачу в твоем праве, ты мне очень помог, спасибо – Blank

1

Вы добавить на массив File S в качестве единственного элемента выпадающего списка (это то, что addItem делает, добавляет (один) элемент)

Там несколько способов, вы могли бы быть в состоянии сделать это, один может быть просто сбросить модель в поле со списком в ...

TxtDoc.setModel(new DefaultComboBoxModel(create()); 

Это имеет хороший побочный эффект удаления всех предыдущих элементов первых

Сказав это, вы не могли бы результаты ...

вы можете хотеть рассмотреть вопрос о предоставлении пользовательских ячейки визуализации для отображения только имя файла. См How to Use Combo Boxes и Concepts: Editors and Renderers для получения более подробной информации

+0

Я думал, что мне просто нужно обновить файл Filesystemview, поэтому я получу свои новые файлы. Я попробую его с ComboboxModel. Благодарю за ваш ответ. – Blank

Смежные вопросы