Gui input

Hi,
ich bin dabei ein Program zu schreiben (ich bin kein Profi) der ein beliebiges File aufmacht und damit arbeitet. Auf der Cobsole kann ich mein Program ausführen aber ein fenster für das input wäre viel schöner. wie und wo soll ich den ActionListener in meiner Programm ein geben damit wenn ich den Bottun drüke das Pfad eingenommen und das File gelesen Wird ?


import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.io.*;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class SimplifyEnglish {
//main method

public static void main(String[] args) throws Throwable {
//Stream to read file
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream dis = null;
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Simplified English ");
frame.setLayout(new GridLayout(3, 2));
frame.add(new JLabel(„Geben Sie den Pfad ein wo das File sich befindet:“));
frame.add(new JTextField());

frame.add(new JButton(„Ausführen“));

int frameWidth = 200;
int frameHeight = 100;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
frame.setBounds((int) screenSize.getWidth() - frameWidth, 0, frameWidth, frameHeight);
frame.setVisible(true);

try{
InputStreamReader inStream =new InputStreamReader( System.in ) ;
BufferedReader stdin = new BufferedReader( inStream );
String inFile;
System.out.println(„Geben Sie den Pfad ein wo das File sich befindet:“);
//C:\Dokumente und Einstellungen\adm\Desktop\test.txt
inFile = stdin.readLine();

File file = new File(inFile);

FileReader reader = new FileReader(file);
BufferedReader br = new BufferedReader (reader);

try{
fis = new FileInputStream(file);
// Here BufferedInputStream is added for fast reading.
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);
while (dis.available() != 0) {

// this statement reads the line from the file and print it to
// the console.
System.out.println(dis.readLine());
}

// dispose all the resources after using them.
fis.close();
bis.close();
dis.close();

}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.err.println („Unable to read from file“);

}
}
}

Gut, ich sag jetzt nur was zum ActionListener. :smile: Hier kommt ein kleiner Schnippsel, den Du einbauen kannst:

JButton b = new JButton("Foo");
b.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {
 getPathAndOpen();
 }
});

In der Methode getPathAndOpen kannst Du dann den Pfad von irgendwo abholen und die Datei lesen.

Es gibt ein riesiges GUI Tutorial auf der Sun Homepage in der das alles Schritt für Schritt erklärt wird, vom Fensteraufbau über Button-Positionierung, ActionListener bis hin zu Threads.