Swing JFileChooser und JFrame

Status
Nicht offen für weitere Antworten.

Mcburn

Mitglied
Halli Hallo liebe Community,

mein Problem ist folgendes:

Ich habe mein Hauptfenster erstellt mit einer Anleitung und zwei Buttons.
Der erste Button soll ein neues Fenster mit dem JFileChooser öffnen. Der Zweite soll das Hauptfenster beenden.

Das neue Fenster hat den ganz normalen Button des JFileChooser.

Das ganze lässt sich auch Prima Compilieren nur das Problem ist wenn ich den Button "Einlesen der CSV" (JFileChooser) betätige liefert mit Java folgende Fehler.



Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at MyActionListener.actionPerformed(MyActionListener.java:65)
at java.awt.Button.processActionEvent(Button.java:392)
at java.awt.Button.processEvent(Button.java:360)
at java.awt.Component.dispatchEventImpl(Component.java:4630)



Kommen wir zum HauptFenster



Java:
import java.io.*;
import java.text.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;


public class TransferTool_Layout extends JFrame
{

  public MenuBar hauptMenue = new MenuBar();
  public Menu menue1 = new Menu("Datei");
  public Menu menue2 = new Menu("Funktion");






  private Label lblUeberschrift = new Label("TransferTool Alpha 0.1");
  public Button btnEinlesen = new Button("Einlesen der CSV");
  public Button btnBeenden = new Button("Beenden");



  public Panel pnlNorth = new Panel(new GridLayout(2,1));
  public Panel pnlCenter = new Panel(new GridLayout(3,1));
  public Panel pnlSouth = new Panel(new GridLayout(2,1));

  private Label lblAnleitungUeb = new Label("Anleitung:")   ;
  private Label lblAnleitung = new Label("1. 2. 3.");
  private Label lblLeer = new Label(" ")   ;



  private MyActionListener myActionListener = new  MyActionListener(this);
  private MyFocusListener myFocusListener = new  MyFocusListener(this);

  public TransferTool_Layout()  //der Konstruktor
    {
      super("TransferTool Alpha 0.1"); //Aufruf des Konstruktors der Oberklasse

      this.setSize(740,660);

      this.lblUeberschrift.setFont(new Font("",Font.BOLD,22));
      this.lblUeberschrift.setForeground(new Color(255,255,0));


      this.pnlNorth.add(lblUeberschrift);
      this.pnlNorth.add(lblLeer);
      this.add(pnlNorth,BorderLayout.NORTH);

      this.pnlCenter.add(lblAnleitungUeb);
      this.pnlCenter.add(lblLeer);
      this.pnlCenter.add(lblAnleitung);
      this.add(pnlCenter,BorderLayout.CENTER);
      
      
      this.pnlSouth.add(btnEinlesen);
      this.pnlSouth.add(btnBeenden);
      this.pnlSouth.add(lblLeer);
      this.add(pnlSouth,BorderLayout.SOUTH);

      this.pnlNorth.setBackground(Color.orange);
      this.pnlCenter.setBackground(Color.orange);
      this.pnlSouth.setBackground(Color.orange);



      lblAnleitungUeb.setForeground(Color.yellow);





      this.setVisible(true);


      //Ereignissteuerung
      this.addWindowListener(new MyWindowListener());

      this.menue2.addActionListener(myActionListener);
      this.menue1.addActionListener(myActionListener);

      this.btnBeenden.addActionListener(myActionListener);
      this.btnEinlesen.addActionListener(myActionListener);




      this.menue1.add("Beenden");
      this.menue1.add("Oeffnen");
      this.menue1.add("Einlesen");


      this.hauptMenue.add(menue1);
      this.hauptMenue.add(menue2);

      this.setMenuBar(hauptMenue);






}//Energiewerte_Layout




  public static void main(String argv[])
  {

  TransferTool_Layout t = new TransferTool_Layout();


  }//public static void main(String argv[])
}//public class Fenster5 extends Frame


Weitergehts mit dem ActionListener

Java:
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.io.*;
import javax.swing.*;
import java.lang.*;
import javax.swing.event.*;
import javax.swing.JFileChooser;


class MyActionListener implements ActionListener
{
String csv = "csv";


  public JFileChooser chooser = new JFileChooser();
  
  public JChooserFenster fenster;

  //final FileFilter csvFilter = new FileNameExtensionFilter(csv);

  public TransferTool_Layout befehl;
  
  public MyActionListener(TransferTool_Layout t)
    {
      befehl = t;
    }
   public MyActionListener(JChooserFenster f)
   {
     fenster = f;
   }


  
  public void actionPerformed(ActionEvent e)
  {
  Object obj = e.getSource();
  if(obj == befehl.btnBeenden) System.exit(0);
  
  DecimalFormat df= new DecimalFormat("#,##0.00");
  
  String menuText;

  //chooser.addChoosableFileFilter(csvFilter);





  
    menuText = e.getActionCommand();
    
    if (obj == befehl.btnBeenden || obj instanceof MenuItem && menuText == "Beenden")
            { 
            System.exit(0);
          }//if (obj == fenster.btnBeenden)
    


    if(obj == befehl.btnEinlesen || obj instanceof MenuItem && menuText == "Einlesen" )
      {
      String dateiname =  chooser.getSelectedFile().getName();


        
        fenster = new JChooserFenster();
        
        /*BufferedReader in = new BufferedReader(new FileReader(dateiname));

        in.close();    */


      }

  chooser.setMultiSelectionEnabled(true);
  int option = chooser.showOpenDialog(null);

  if(option == JFileChooser.APPROVE_OPTION)
          {
            File[] sf = chooser.getSelectedFiles();
            String filelist = "nothing";

            if(sf.length>0)
            filelist = sf[0].getName();

            for(int i=1;i<sf.length;i++)
            {
            filelist += "," + sf[i].getName();
            }

          }





    
  }//public void actionPerformed(ActionEvent e)
}//public class MyActionListener implements ActionListener

Und zuletzt das JFileChooserFenster

Java:
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;


public class JChooserFenster extends JFrame
{
  JButton open  = new JButton("open");
  JButton save = new JButton("save");
  JButton dir   = new JButton("Verzeichnis auswählen");
  final JLabel statusbar = new JLabel("Ihre Auswahl wird hier angezeigt.");


 public JChooserFenster()
 {
 
 
    super("JFileChooser");
    setSize(350,200);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    Container c = getContentPane();
    c.setLayout(new FlowLayout());

    JButton open  = new JButton("open");
    JButton save = new JButton("save");
    JButton dir   = new JButton("Verzeichnis auswählen");
    final JLabel statusbar = new JLabel("Ihre Auswahl wird hier angezeigt.");

    open.addActionListener(new MyActionListener(this));


    c.add(open);
    c.add(save);
    c.add(dir);
    c.add(statusbar);
  }



}

Bin immoment noch am Programm am arbeiten. Deswegen sind noch nicht alle Funktionen drinne und aufgeräumt ist es leider auch noch nicht so wie ich es will hoffe trotzdem ihr könnt das Programm einfach lesen. Da ihr mir schon helft will ich es euch so einfach wie möglich machen :)
Danke im vorraus
 
Zuletzt bearbeitet:

Michael...

Top Contributor


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at MyActionListener.actionPerformed(MyActionListener.java:65)
at java.awt.Button.processActionEvent(Button.java:392)
at java.awt.Button.processEvent(Button.java:360)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
Welche der vielen Zeilen ist den genau die Zeile 65 in der Klasse MyActionListener (Verwende Java statt Code Tags)
 

Mcburn

Mitglied
Oh tut mir leid ich hab irgendwie assozieiert das code auch zeilenzahl anzeigt.

Java:
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.io.*;
import javax.swing.*;
import java.lang.*;
import javax.swing.event.*;
import javax.swing.JFileChooser;


class MyActionListener implements ActionListener
{
String csv = "csv";


  public JFileChooser chooser = new JFileChooser();
  
  public JChooserFenster fenster;

  //final FileFilter csvFilter = new FileNameExtensionFilter(csv);

  public TransferTool_Layout befehl;
  
  public MyActionListener(TransferTool_Layout t)
    {
      befehl = t;
    }
   public MyActionListener(JChooserFenster f)
   {
     fenster = f;
   }


  
  public void actionPerformed(ActionEvent e)
  {
  Object obj = e.getSource();
  if(obj == befehl.btnBeenden) System.exit(0);
  
  DecimalFormat df= new DecimalFormat("#,##0.00");
  
  String menuText;

  //chooser.addChoosableFileFilter(csvFilter);





  
    menuText = e.getActionCommand();
    
    if (obj == befehl.btnBeenden || obj instanceof MenuItem && menuText == "Beenden")
            { 
            System.exit(0);
          }//if (obj == fenster.btnBeenden)
    


    if(obj == befehl.btnEinlesen || obj instanceof MenuItem && menuText == "Einlesen" )
      {
      String dateiname =  chooser.getSelectedFile().getName();


        
        fenster = new JChooserFenster();
        
        /*BufferedReader in = new BufferedReader(new FileReader(dateiname));

        in.close();    */


      }

  chooser.setMultiSelectionEnabled(true);
  int option = chooser.showOpenDialog(null);

  if(option == JFileChooser.APPROVE_OPTION)
          {
            File[] sf = chooser.getSelectedFiles();
            String filelist = "nothing";

            if(sf.length>0)
            filelist = sf[0].getName();

            for(int i=1;i<sf.length;i++)
            {
            filelist += "," + sf[i].getName();
            }

          }





    
  }//public void actionPerformed(ActionEvent e)
}//public class MyActionListener implements ActionListener

So jetzt MyActionListener noch mal mit dem richtigen Tag :)
 

Mcburn

Mitglied
Du hast richtig geraten. Als ich in Zeile 65 ein kommentar eingefügt habe ist er umgesprungen auf die Zeile 62.

Und ja jetzt seh ichs ich will das ganze in einen String schreiben.
Was ich eig gar nicht will ^^.

Okay hätte ich einfach mal besser nachgeschaut hätte ichs wohl selbst gefunden trotzdem danke mit dem Tipp welche Zeile es sein könnte.

Danke schön und ich hoffe habe euch nicht so viel Ärger bereitet.

Thread kann als erledigt angesehen werden :)
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Tommy135 JFileChooser ist sehr langsam AWT, Swing, JavaFX & SWT 13
T JFileChooser ist Englisch und bleibt Englisch und bleibt Englisch... AWT, Swing, JavaFX & SWT 15
M Swing jFileChooser Header viewTypeDetails setFont AWT, Swing, JavaFX & SWT 0
I JFileChooser mit System L&F bei anderem L&F der eigtl. Anwendung AWT, Swing, JavaFX & SWT 0
Meeresgott AWT JFileChooser bestimmte Ordner anzeigen AWT, Swing, JavaFX & SWT 16
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser für nicht existierendes Unterverzeichnis AWT, Swing, JavaFX & SWT 3
javampir Swing Anzeige der FileFilter im JFileChooser AWT, Swing, JavaFX & SWT 0
L JFileChooser Datentyp Unterscheidung AWT, Swing, JavaFX & SWT 6
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing JFilechooser - Detailansicht AWT, Swing, JavaFX & SWT 0
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
T JFileChooser Rahmenfarbe ändern AWT, Swing, JavaFX & SWT 1
K Pfad mit JFileChooser ausgeben lassen AWT, Swing, JavaFX & SWT 7
C JFileChooser hängt bei Ausführung mit Terminal AWT, Swing, JavaFX & SWT 2
T Swing JFileChooser und FileView AWT, Swing, JavaFX & SWT 4
M Einzelne Ordner im JFileChooser ausgrauen? AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser inline editing AWT, Swing, JavaFX & SWT 4
D JFileChooser anpassen AWT, Swing, JavaFX & SWT 5
AssELAss Verzeichnis JFileChooser aktualisieren AWT, Swing, JavaFX & SWT 0
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
A Datei weiterverwenden mit JFileChooser AWT, Swing, JavaFX & SWT 6
T Importer-Auswahl im JFileChooser AWT, Swing, JavaFX & SWT 3
N JFileChooser bzw. FileDialog Problem AWT, Swing, JavaFX & SWT 10
A Swing JFileChooser - Größenänderung nach Aufruf von showOpenDialog() AWT, Swing, JavaFX & SWT 15
D Serverdirectory auf Client browsen mit JFileChooser AWT, Swing, JavaFX & SWT 7
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
C JFileChooser und Netzwerk Laufwerke AWT, Swing, JavaFX & SWT 4
Iron Monkey JFileChooser - Drag and Drop AWT, Swing, JavaFX & SWT 5
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
P JFileChooser mit verschidene Endungen AWT, Swing, JavaFX & SWT 12
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
C JFileChooser bringt parent durcheinander AWT, Swing, JavaFX & SWT 2
N JFileChooser mit Dateinamenvorgabe AWT, Swing, JavaFX & SWT 9
S JFileChooser GTK (Ubuntu) "hässlich" AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser mit modifiziertem Kontextmenü AWT, Swing, JavaFX & SWT 4
S JFileChooser öffnet den falschen Ordner AWT, Swing, JavaFX & SWT 4
A Swing JFilechooser zeigt verzeichnisse nicht an AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser - Anzeige in Echtzeit filtern AWT, Swing, JavaFX & SWT 10
M JFileChooser umbenennen verbieten AWT, Swing, JavaFX & SWT 4
Helgon JFileChooser öffnet sich 2x AWT, Swing, JavaFX & SWT 12
K JFileChooser mit Zusatzfunktionen AWT, Swing, JavaFX & SWT 8
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
V JFileChooser auf Mac und Netzwerkordner AWT, Swing, JavaFX & SWT 2
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
M JFileChooser setCurrentDirectory() - Verzeichnis relativ zum Code/binary AWT, Swing, JavaFX & SWT 14
P Swing Dateinamen im JFileChooser vorschlagen AWT, Swing, JavaFX & SWT 11
M JFileChooser Abfangen des DateiTypen möglich?? AWT, Swing, JavaFX & SWT 5
T Swing JFileChooser --> Desktop und Laufwerke im "Suchen in" - Drop Down AWT, Swing, JavaFX & SWT 3
N JFileChooser - Keine Funtkion AWT, Swing, JavaFX & SWT 13
T JFileChooser - "Öffnen-Button" aktivieren/deaktivieren möglich??? AWT, Swing, JavaFX & SWT 2
jueki Aktuell eingestellten Filter aus einem JFileChooser abfragen. AWT, Swing, JavaFX & SWT 5
F Swing JFileChooser - Dateinamen nicht editierbar machen AWT, Swing, JavaFX & SWT 8
I Fehler bei JFileChooser AWT, Swing, JavaFX & SWT 2
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
Ivan Dolvich [Linux] JFileChooser sieht komisch aus... AWT, Swing, JavaFX & SWT 12
M Zurück-Button in JFileChooser AWT, Swing, JavaFX & SWT 9
N JFileChooser AWT, Swing, JavaFX & SWT 4
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
S JFileChooser Dateiname Autovervollständigung AWT, Swing, JavaFX & SWT 2
B JDialog über JFileChooser anzeigen AWT, Swing, JavaFX & SWT 6
I Swing JFileChooser '\' im Pfad... AWT, Swing, JavaFX & SWT 2
K Swing JFileChooser zum Speichern - FileFilter AWT, Swing, JavaFX & SWT 2
M Swing Execption beim JFileChooser AWT, Swing, JavaFX & SWT 4
kodela Swing JFileChooser und die Datei-Extension AWT, Swing, JavaFX & SWT 3
jueki eigenen Button in JFileChooser einfügen AWT, Swing, JavaFX & SWT 7
alderwaran jFileChooser showSaveDialog, dateinamen werden mit pfadnamen überschrieben beim navigieren AWT, Swing, JavaFX & SWT 1
B Swing Suche JFileChooser zum Speichern AWT, Swing, JavaFX & SWT 2
Iron Monkey JFileChooser DIRECTORIES_ONLY AWT, Swing, JavaFX & SWT 4
Semox Swing JFileChooser: Problem Approve oder Cancel abzufangen AWT, Swing, JavaFX & SWT 7
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
kodela Sicherheitsabfrage mit JFileChooser AWT, Swing, JavaFX & SWT 2
DARK_ZERATO2 jFileChooser AWT, Swing, JavaFX & SWT 4
G JFileChooser Problem AWT, Swing, JavaFX & SWT 4
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
P JFileChooser AWT, Swing, JavaFX & SWT 2
G Swing JFileChooser in einem JPanel? AWT, Swing, JavaFX & SWT 3
J JFileChooser Dateiauswahl beim Tippen einschränken AWT, Swing, JavaFX & SWT 3
M Swing JFileChooser mit Windows 7 AWT, Swing, JavaFX & SWT 8
R JFileChooser - Initiales Verzeichnis auswählen AWT, Swing, JavaFX & SWT 8
brainray JFileChooser - es sollen nur Ordner wählbar sein AWT, Swing, JavaFX & SWT 2
T JFileChooser Problem AWT, Swing, JavaFX & SWT 3
N Mit JFileChooser ein Verzeichnis auswählen AWT, Swing, JavaFX & SWT 7
M Swing JFileChooser und versteckte Ordner AWT, Swing, JavaFX & SWT 2
F jFileChooser verwenden AWT, Swing, JavaFX & SWT 4
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
F JFileChooser mal wieder AWT, Swing, JavaFX & SWT 2
ARadauer Swing JFileChooser mit Bildvorschau AWT, Swing, JavaFX & SWT 5
H Swing Dateiauswahldialog mit JFileChooser funktioniert unzuverlässig AWT, Swing, JavaFX & SWT 11
G Swing JFileChooser nur in Verzeichnis+Unterverzeichnisse AWT, Swing, JavaFX & SWT 5
K Swing JFileChooser AWT, Swing, JavaFX & SWT 6
M JFileChooser einschränken AWT, Swing, JavaFX & SWT 3
L JFileChooser braucht lang zum öffnen AWT, Swing, JavaFX & SWT 2
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
M JFilechooser defaultdirectory AWT, Swing, JavaFX & SWT 5
C JFilechooser this.setAlwaysOnTop AWT, Swing, JavaFX & SWT 2
G JFileChooser - erkennen v. existierenden Dateien ohne Endung AWT, Swing, JavaFX & SWT 1
N JFilechooser File auslesen AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben