Zum Inhalt springen

Dax_ka

Mitglieder
  • Gesamte Inhalte

    1
  • Benutzer seit

  • Letzter Besuch

  1. Hallo, Habe ein paar Probleme mit dem Arbeiten mit Treads und dem ActionListener. Das Programm soll wie eine Stopuhr einfach jede Sekunde hochzählen und sich dabei per Buttuns Starten und Stopen lassen. Das funktioniert auch. Allerdings ebennur in der Console. Und ich will die Ausgabe des Zählers aber in dem textfield txtAusg haben. Hab schon ne ganze weile rum probiert, aber ohne nennenswerte Erfolge.:rtfm: ???:L package Hans_Peter; import Hans_Peter.Window; import java.util.*; public class Timer{ public static void main(String[] args){ Window w = new Window(); }//public static void main(String[] args) }//public class Timer package Hans_Peter; import java.awt.*; import javax.swing.*; import Hans_Peter.MyActionListener; public class Window extends Frame{ private static final long serialVersionUID = 1L; public MyActionListener actionListener = new MyActionListener(this); public MyWindowListener myWindowListener = new MyWindowListener(); //Bereich A public TextArea txtAusg = new TextArea(); public Button btnStart = new Button("Start"); public Button btnPause = new Button("Pause"); public Button btnSchliessen = new Button("Schliessen"); public Window(){ super("Timer"); this.setSize(360,250); this.setLayout(null); this.addWindowListener(myWindowListener); this.setBackground(Color.lightGray); this.setVisible(true); //Ausgabe Fenster Font font = new Font("SansSerif",Font.PLAIN,20); txtAusg.setFont(font.deriveFont(Font.PLAIN,40)); txtAusg.setBounds(50,50,260,100); this.add(txtAusg); //Button Start btnStart.setBounds(50,170,80,25); this.add(btnStart); btnStart.addActionListener(actionListener); //Button Pause btnPause.setBounds(140,170,80,25); this.add(btnPause); btnPause.addActionListener(actionListener); //Button Schliessen btnSchliessen.setBounds(230,170,80,25); this.add(btnSchliessen); btnSchliessen.addActionListener(actionListener); }//public Window() }//public class Window Hier will ich den zählerstand ausgeben package Hans_Peter; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class test extends Thread{ public Window f; test(Window f) { this.f = f; } int i=0; public void run(){ while ( ! isInterrupted() ) { System.out.println("ich werd verrückt "+i); i++; //Problem //Ausgabe in txtAusg von i try { Thread.sleep( 1000 ); } catch ( InterruptedException e ) { interrupt(); System.out.println( "a sleep()" ); } } } } oder den zählerstand irgendwie in die methode actionPerformed() schieben. package Hans_Peter; import java.awt.event.*; import javax.swing.*; public class MyActionListener extends Thread implements ActionListener{ public Window f; MyActionListener(Window f) { this.f = f; }// MyActionListener(Window f) Thread a = new test(f); int firsttime=0; public void actionPerformed(ActionEvent e){ if (e.getSource () == f.btnStart) { if(firsttime==0){ a.start(); firsttime=1; f.txtAusg.setText("bla"); } a.resume(); } if (e.getSource() == f.btnPause) { a.suspend(); } if (e.getSource() == f.btnSchliessen) { a.stop(); System.exit(0); } }//public void actionPerformed(ActionEvent e) }// public class MyActionListener implements ActionListener Hoffe ihr könnt mir helfen. Dax

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...