Hallo zusammen.
Ich habe eine Frage zu FilenameFilter.
Ich möchte eine Applikation erstellen mit mit der ich Notizen schreiben und anschauen kann. Angenommen die Notizen sind erstellt und in meinem Verzeichnis "Notizen" gespeicher mit der Dateiendung .quickLaunch^^.
Nun möchte ich mit meinem NotizManager das Verzeichniss auf dateien mit der Dateiendung .quickLaunch auslesen. Danach erstelle ich zu jeder Notiz einen Button über welchen ich die Datei / Notiz öffnen kann.
Das Ganze hab ich mir etwa so vorgestellt: intressant sind eigentlich nur die Methoden sucheNotizen() und createButtons().
Auf Zeile 36 bekomme ich einen java.lang.NullPointerException.
Meine Frage: Kann man das so in etwa bauen oder geht das gar nicht.
Zweite Frage: Wie funktioniert der FilenameFilter genau?
Gruss
HISTORY
Ich habe eine Frage zu FilenameFilter.
Ich möchte eine Applikation erstellen mit mit der ich Notizen schreiben und anschauen kann. Angenommen die Notizen sind erstellt und in meinem Verzeichnis "Notizen" gespeicher mit der Dateiendung .quickLaunch^^.
Nun möchte ich mit meinem NotizManager das Verzeichniss auf dateien mit der Dateiendung .quickLaunch auslesen. Danach erstelle ich zu jeder Notiz einen Button über welchen ich die Datei / Notiz öffnen kann.
Das Ganze hab ich mir etwa so vorgestellt: intressant sind eigentlich nur die Methoden sucheNotizen() und createButtons().
Auf Zeile 36 bekomme ich einen java.lang.NullPointerException.
Meine Frage: Kann man das so in etwa bauen oder geht das gar nicht.
Zweite Frage: Wie funktioniert der FilenameFilter genau?
Code:
package nachricht;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FilenameFilter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class NotizManager extends JFrame implements ActionListener{
JLabel info = new JLabel("Kicken Sie auf einen der Buttons, um die Notiz zu betrachten");
JPanel centerButtonPanel = new JPanel();
String [] fileList;
JButton[] buttons;
public NotizManager(){
super("Notiz Manager");
setBounds(740, 300, 400, 400);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
createButtons();
add(BorderLayout.NORTH, info);
add(centerButtonPanel);
setVisible(true);
setResizable(false);
}
public void createButtons(){
sucheNotizen();
for (int i = 0; i < fileList.length; i++){
String buttonName = fileList[i];
buttons[i] = new JButton(buttonName);
centerButtonPanel.add(buttons[i]);
}
}
public void sucheNotizen(){
File dir = new File("c:\\programme\\Notizen");
fileList = dir.list(new FilenameFilter() {
public boolean accept(File d, String name) {
return name.endsWith(".quickLaunch");
}
});
}
public static void main(String[] args) {
new NotizManager();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
Gruss
HISTORY