P
Patrick84
Gast
Hallo,
ich weiß nicht so recht, was ich fragen soll. Ich habe ständig IO-Exceptions und Eclipse bleibt bei der Kompilation bei "schreibt(x);" und "liest());" hängen. Das sind zwei Funktionen, die einlesen und schreiben. Sind die Aufrufe falsch? Soll ich mit try& catch arbeiten oder es lieber lassen?
Grüße
Patrick
ich weiß nicht so recht, was ich fragen soll. Ich habe ständig IO-Exceptions und Eclipse bleibt bei der Kompilation bei "schreibt(x);" und "liest());" hängen. Das sind zwei Funktionen, die einlesen und schreiben. Sind die Aufrufe falsch? Soll ich mit try& catch arbeiten oder es lieber lassen?
Grüße
Patrick
Code:
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
public class Zaehler extends JPanel {
public static int liest() throws EOFException, FileNotFoundException,
IOException {
int x = 0;
try {
DataInputStream hinein = new DataInputStream(
new BufferedInputStream(
new FileInputStream("testdaten.txt")));
try {
while (true) {
x = hinein.readInt();
hinein.close();
}
} catch (EOFException e) {
}
} catch (IOException e) {
System.out.println("Open error " + e);
}
return (x);
}
public static void schreibt(int x) throws EOFException,
FileNotFoundException, IOException {
try {
BufferedWriter out = new BufferedWriter(new FileWriter(
"testdaten.txt"));
try {
out.write(x);
out.close();
} catch (IOException e) {
System.out.println("Write error " + e);
}
} catch (IOException e) {
System.out.println("Open error " + e);
}
}
public int x = 16;
public int y = 0;
private JButton Hoch;
private JButton Runter;
private JLabel Counter;
private JLabel Counter2;
private JLabel Ausleser;
private JButton Auslesen;
public Zaehler() {
Hoch = new JButton("Hoch");
Hoch.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
x = x + 1;
schreibt(x);
getRootPane().setDefaultButton(Hoch);
Counter.setText("" + x);
}
});
Auslesen = new JButton("Int aus Datei Auslesen!");
Auslesen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getRootPane().setDefaultButton(Auslesen);
Ausleser.setText("" + liest());
}
});
Runter = new JButton("Runter");
Runter.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
x = x - 1;
schreibt(x);
getRootPane().setDefaultButton(Runter);
Counter.setText("" + x);
}
});
Ausleser = new JLabel();
Counter = new JLabel("Counter: " + x);
Counter2 = new JLabel(
"Wir beginnen mit 16. Erreicht der Zähler 0, so wird das Programm beendet.");
setPreferredSize(new Dimension(821, 520));
setLayout(null);
add(Hoch);
add(Runter);
add(Counter);
add(Counter2);
add(Ausleser);
add(Auslesen);
Hoch.setBounds(90, 140, 100, 27);
Runter.setBounds(380, 140, 110, 27);
Counter.setBounds(265, 140, 100, 25);
Counter2.setBounds(65, 180, 500, 25);
Ausleser.setBounds(65, 220, 500, 25);
Auslesen.setBounds(65, 280, 500, 25);
}
public static void main(String[] args) throws EOFException,
FileNotFoundException, IOException {
JFrame frame = new JFrame("JPanel Preview");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new Zaehler());
frame.setSize(frame.getPreferredSize());
frame.setResizable(false);
frame.pack();
frame.setVisible(true);
}
}