2013-07-20 2 views
0

Сложность в синтаксисе цикла for, который считывает данные из массива и добавляет его в JTree.Синтаксис JTree For-Loop Array

public void init() 
{ final String section1 = "JAVA"; 
    String[] sections = new String[]{ "Tutorial6", "Tutorial5", "Tutorial4", "Tutorial3", "Tutorial2", "Tutorial1" }; 

String contents[][] = { 
     {"content1a", "content1b"}, 
     {"content2a", "content2b"}, 
     {"content3a", "content3b"} 
    }; 

    title = new DefaultMutableTreeNode(section1); 

    for (int i=0; i<sections.length; i++) 
    { selection = new DefaultMutableTreeNode((sections[i])); 

     selection.insert(new DefaultMutableTreeNode((contents[i])),0); 



     //title.insert(selection,0); 
    } 

Добавление разделов работает нормально, но проблема с добавлением узлов в эти разделы. Как мне заставить цикл for работать, чтобы узлы с именем содержимого были добавлены в соответствующий раздел при анализе for-loop?

это код, который не работает:

selection.insert(new DefaultMutableTreeNode((contents[i])),0); 

Спасибо !!

+0

Просьба уточнить, как это отличается от вашего предыдущего вопроса по той же теме: [JTree - как добавить узлы с For-Loop?] (Http://stackoverflow.com/questions/17752099/jtree-how -to-add-nodes-with-a-for-loop) – trashgod

ответ

1

Создание TreeNode - это действительно один узел. Поэтому передача массива в конструктор узла не приведет к созданию всего списка узлов. Чтобы достичь желаемого, добавьте вложенный цикл.

String contents[][] = 
{ 
    {"content1a", "content1b"}, 
    {"content2a", "content2b"}, 
    {"content3a", "content3b"} 
}; 

title = new DefaultMutableTreeNode(section1); 

for (int i=0; i < sections.length; i++) 
{ 
    selection = new DefaultMutableTreeNode(sections[i]); 
    for (int k = 0; k < contents[i].length; ++k) 
    { 
     selection.add(new DefaultMutableTreeNode(contents[i][k])); 
    } 
    title.add(selection); 
} 
+0

Да, почти. Ваша ошибка заключается в содержании [i] вместо правильного содержимого [i] [j]. –

+0

Большое спасибо Martijn, попробуем сейчас! – user2521443

+0

У меня есть ArrayOutOfBoundsException:/ – user2521443

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