Hallo,
ich habe wieder mal ein grundsätzliches Problem mit Java
es geht um dieses Tutorial: StoppUhr
Mein Problem damit ist, alle Klassen sind in der Hauptklasse StoppUhr verschachtelt. Ich möchte aber alle Klassen "abgeschottet" benutzen, nur bekomme ich das nicht hin. Wenn ich von der Hauptklasse Stoppuhr Instanzen in den anderen Klassen erstelle, damit diese z.b. mit dem boolean "running" arbeiten können, funktionier das Programm nicht mehr.
Könnt ihr mir da weiterhelfen?
Der Code von mir probeweise abgeändert:
ich habe wieder mal ein grundsätzliches Problem mit Java
es geht um dieses Tutorial: StoppUhr
Mein Problem damit ist, alle Klassen sind in der Hauptklasse StoppUhr verschachtelt. Ich möchte aber alle Klassen "abgeschottet" benutzen, nur bekomme ich das nicht hin. Wenn ich von der Hauptklasse Stoppuhr Instanzen in den anderen Klassen erstelle, damit diese z.b. mit dem boolean "running" arbeiten können, funktionier das Programm nicht mehr.
Könnt ihr mir da weiterhelfen?
Der Code von mir probeweise abgeändert:
import java.awt.*;
import java.awt.event.*;
public class Stoppuhr extends Frame {
private Button start;
private Button stop;
public Label ausgabe;
public boolean running = false;
public Stoppuhr(){
super();
setLayout(null);
setTitle("Stoppuhr");
setResizable(false);
start = new Button("Start");
stop = new Button("Stop");
ausgabe = new Label();
start.setBounds(100,100,100,50);
stop.setBounds(220, 100, 100, 50);
ausgabe.setBounds(130, 175, 250, 50);
add(start);
add(stop);
add(ausgabe);
ausgabe.setFont(new Font(Font.SERIF,Font.PLAIN, 35));
start.addActionListener(new ButtonListenerStart());
stop.addActionListener(new ButtonListenerStop());
addWindowListener(new WindowLauscher());
}
public static void main(String[] args) {
Stoppuhr uhr = new Stoppuhr();
uhr.setBounds(0, 0, 500, 300);
uhr.setVisible(true);
}
}
class ButtonListenerStart implements ActionListener{
public void actionPerformed(ActionEvent e){
Stoppuhr uhr1 = new Stoppuhr();
boolean running = uhr1.running;
if(!running){
running = true;
UhrzeitThread uhr = new UhrzeitThread();
uhr.start();
}
}
}
class ButtonListenerStop implements ActionListener{
public void actionPerformed(ActionEvent e){
Stoppuhr uhr1 = new Stoppuhr();
boolean running = uhr1.running;
running = false;
}
}
class WindowLauscher extends WindowAdapter{
public void windowClosing(WindowEvent e){
Stoppuhr uhr1 = new Stoppuhr();
boolean running = uhr1.running;
running = false;
System.exit(0);
}
}
class UhrzeitThread extends Thread{
Stoppuhr uhr1 = new Stoppuhr();
boolean running = uhr1.running;
private int HS = 0;
private int sek = 0;
private int min = 0;
private int h = 0;
public void run(){
while(running){
try{Thread.sleep(9);}catch(Exception e){}
if(HS <= 99){
HS++;
} else {
HS = 0;
if(sek <= 59){
sek++;
}else {
sek = 0;
if(min <= 59){
min++;
} else {
min = 0;
h++;
}
}
}
uhr1.ausgabe.setText(h + " : " + min + " : " + sek + " : " + HS);
}
}
}
Zuletzt bearbeitet: