import java.util.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.io.*;
public class Einlesen implements KeyListener {
private JTextArea tplz, tname;
private ArrayList<String> datenliste;
private JFrame frame;
public static void main(String args[]) {
Einlesen start = new Einlesen();
start.los();
}
public void los() {
frame = new JFrame("plzFindME 0.04a");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
tplz = new JTextArea(1,5);
tname = new JTextArea(3, 20);
tplz.addKeyListener(this);
JButton ende = new JButton("ende");
JButton laden = new JButton("laden");
datenliste = new ArrayList<String>();
JLabel tplzlabel = new JLabel("PLZ");
JLabel tnamelabel = new JLabel("Zuständig:");
panel1.add(tplzlabel);
panel1.add(tplz);
panel2.setLayout(new BorderLayout());
panel2.add(BorderLayout.NORTH, tnamelabel);
panel2.add(BorderLayout.CENTER, tname);
panel2.add(BorderLayout.SOUTH, ende);
panel2.add(BorderLayout.SOUTH, laden);
laden.addActionListener(new LadenListener());
ende.addActionListener(new EndeListener());
frame.getContentPane().add(BorderLayout.NORTH, panel1);
frame.getContentPane().add(BorderLayout.SOUTH, panel2);
frame.setSize(200,150);
frame.setVisible(true);
try {
ObjectInputStream is = new ObjectInputStream(new FileInputStream("datensatz.dat"));
ArrayList<String> datenliste = (ArrayList<String>)is.readObject();
is.close();
} catch (IOException ex) {
ex.printStackTrace();
} catch(ClassNotFoundException ex){
ex.printStackTrace();
}
}
@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
tname.setText("");
String search = tplz.getText();
for(int i = 0; i < datenliste.size(); i++)
if(datenliste.get(i).startsWith(search))
tname.append(datenliste.get(i)+"\n");
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public class EndeListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
public class LadenListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
JFileChooser dateiÖffnen = new JFileChooser();
dateiÖffnen.showOpenDialog(frame);
dateiLaden(dateiÖffnen.getSelectedFile());
}
}
private void dateiLaden(File datei) {
datenliste = new ArrayList<String>();
try {
BufferedReader reader = new BufferedReader(new FileReader(datei));
String zeile = null;
while ((zeile = reader.readLine()) != null) {
addData(zeile);
}
try {
ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("datensatz.dat"));
for(int i = 0; i < datenliste.size(); i++)
os.writeObject(i);
os.close();
} catch (IOException ex) {
ex.printStackTrace();
}
reader.close();
} catch (Exception ex) {
ex.printStackTrace();
}
try {
ObjectInputStream is = new ObjectInputStream(new FileInputStream("datensatz.dat"));
ArrayList<String> datenliste = (ArrayList<String>)is.readObject();
is.close();
} catch (IOException ex) {
ex.printStackTrace();
} catch(ClassNotFoundException ex){
ex.printStackTrace();
}
}
private void addData(String zeile) {
datenliste.add(zeile);
}
}