1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

repaint während Thread läuft

  • poochie
  • 13. Dezember 2010 um 16:24
  • Unerledigt
  • poochie
    4
    poochie
    Mitglied
    Punkte
    105
    Beiträge
    14
    • 13. Dezember 2010 um 16:24
    • #1

    Hallo, ich habe ein Problem mit einer Aufgabe, es geht im groben darum ein (simples) billardspiel zu programmieren, dazu habe ich ein JPanel Tisch welches das ganze zeug zeichnet, diese klasse besitzt ein objekt der klasse Ball. Ball implementiert Runnable und führt die bewegung des balles in der run()-methode aus (ändert dessen position forlaufend). Wenn ich nun das ganze ausführe dann seh ich nur wo sich der ball zu beginn und zu ende befindet. Wo mache ich hier was falsch, muss ich da den thread kurz anhalten weil es sonst zu schnell geht?!


    Zitat


    Thread t = new Thread(this.ball);

    t.start();
    while(t.isAlive()){
    this.repaint();
    }

    Alles anzeigen
  • Ramses13
    4
    Ramses13
    Mitglied
    Reaktionen
    4
    Punkte
    164
    Beiträge
    31
    • 14. Dezember 2010 um 00:54
    • #2

    Deine Schleife blockiert wohl den Thread, der für das Zeichnen verantwortlich ist (ist derselbe, der Events abarbeitet). repaint stellt nämlich nur einen Auftrag für das Neu-Zeichnen in eine Warteschlange, es ist aber kein Thread da, der diese Warteschlange abarbeitet.
    Lösung: Entweder das repaint in den Ball, oder separater Thread für das repaint (inkl. Wartepausen, ansonsten geht die Prozessorlast gegen 100 %).

  • Ringding
    11
    Ringding
    Mitglied
    Reaktionen
    12
    Punkte
    1.237
    Beiträge
    244
    • 14. Dezember 2010 um 07:39
    • #3

    Es ist ja anscheinend eh ein eigener Thread. poochie, ja klar wird’s im Thread zu schnell gehen. Du musst das von der Uhrzeit abhängig machen. Überleg dir, wie lange die ganze Animation dauern soll, und dann kannst du dir im Thread anhand der Startzeit und der aktuellen Zeit ausrechnen, wie weit der Ball schon sein soll.

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung