1) переместить все переменные для
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Devices");
DefaultTreeModel model = (DefaultTreeModel)this.deviceTree.getModel();
снаружи SwingWorker
класс
не обновлять root
и model
, на самом деле ничего из этих Object
,
DefaultMutableTreeNode child = new DefaultMutableTreeNode(device);
root.add(child);
model.insertNodeInto(child, root, 0);
только объявляет ArrayList<String> devices = new ArrayList<String>();
и возвращает это значение как Object
, если SwingWorkers
заканчивается (или считается как закрытая переменная), если SwingWokres
заканчивается, тогда создают все Object
for (String device : devices) {
DefaultMutableTreeNode child = new DefaultMutableTreeNode(device);
root.add(child);
model.insertNodeInto(child, root, 0);
}
другие опции объявляются SwingWorkers # publish () ; но зачем это нужно в этом случае
РЕДАКТИРОВАТЬ: на левой (верхней) стороне на этом экране button labeled with SwingWorker
, читать все 103
темы