Hallo zusammen,
Also ich habe ein Programm geschrieben, mit dem man Fotoalben erstellen und bearbeiten kann. Alle erstellten Alben werden in dem o.g. JTree aufgelistet. Immer, wenn ich ein Album aus dem JTree anklicke, wird dieses durch den TreeSelectionListener geöffnet.
Nun habe ich das Problem, dass ich nachdem ein neues Album erstellt wurde(dadurch wird auch der Ordner erstellt), den jTree aktualisieren möchte.
Dies funktioniert aber nur, wenn ich vorher kein anderes Album aus dem jTree angeklickt habe.
Hier mal der Code
Wie gesagt, es funktioniert alles super, solange das nicht aufgerufen wurde.
Als Fehler erhalte ich dann folgendes...
Also in dieser Zeile
obwohl dies nicht aufgerufen wird. Was ist das los?
Also ich habe ein Programm geschrieben, mit dem man Fotoalben erstellen und bearbeiten kann. Alle erstellten Alben werden in dem o.g. JTree aufgelistet. Immer, wenn ich ein Album aus dem JTree anklicke, wird dieses durch den TreeSelectionListener geöffnet.
Nun habe ich das Problem, dass ich nachdem ein neues Album erstellt wurde(dadurch wird auch der Ordner erstellt), den jTree aktualisieren möchte.
Code:
((DefaultTreeModel)jTree3.getModel()).reload();
Dies funktioniert aber nur, wenn ich vorher kein anderes Album aus dem jTree angeklickt habe.
Hier mal der Code
Code:
jTree3.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
pics.clear();
index = 1;
editgal = 1;
asd = (FileSystemTreeNode)e.getNewLeadSelectionPath().getLastPathComponent();
File f = (File)asd.getUserObject();
System.out.println(jTree3.getSelectionPath());
dir = new File( f.getAbsolutePath()+"/images" );
System.out.println(dir);
files = dir.listFiles( new JPGFilter() );
CopyDirectory test = new CopyDirectory();
for(int i=0; i<files.length; i++)
{
pics.add(new ImageIcon(files[i].getAbsolutePath()));
try{
q = new File("./images/"+files[i].getName());
test.copyFile(files[i], q);
} catch (IOException g) {
g.printStackTrace();
}
}
}};
Wie gesagt, es funktioniert alles super, solange das nicht aufgerufen wurde.
Als Fehler erhalte ich dann folgendes...
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at jFotoalbum$13.valueChanged(jFotoalbum.java:797)
Also in dieser Zeile
Code:
asd = (FileSystemTreeNode)e.getNewLeadSelectionPath().getLastPathComponent();
obwohl dies nicht aufgerufen wird. Was ist das los?