Programm wird immer langsamer

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
ICh hab ein Programm auf JFrame basis geschrieben und einige Buttonsmit ActionListener und Labels geadded

je öfters ich auf die Buttons klicke, desto langsamer wird mein Programm.

was is der Grund dafür?

hier ein kleiner Auszug:

Code:
class menue{

  public void hauptmenue()
  {
    H_Frage1="\nSpieler " + mSpielera + " ist an der Reihe.";
    l1.setText(H_Frage1);
    l2.setText(H_Frage2);
    b1.setText("Reich betrachten");
    b1.addActionListener(al1);
    b2.setText("Gebaeude (aus)bauen");
    b2.addActionListener(al2);
    b3.setText(" ---- ");
    b4.setText(" ---- ");
    b5.setText(" ---- ");
    b6.setText("Runde beenden");
    b6.addActionListener(al6);
    if (Kaserne[mSpieler]==1){l3.setText(H_Frage3);
    						  b3.setText("Kaserne");
    						  b3.addActionListener(al3);}
    if (Alchemist[mSpieler]==1){l4.setText(H_Frage4);
    							b4.setText("Alchemist");
    							b4.addActionListener(al4);}
    if (K.Soldaten[mSpieler]>0){l5.setText(H_Frage5);
    							b5.setText("Angriff");
    							b5.addActionListener(al5);}
    l6.setText(H_Frage6);
    
  }

  public void betrachten()
  {	  buttonreset();
  	  labelreset();
  	  uebersicht();
	  l1.setText(AusgabeUebersichtA);
      if (K.Soldaten[mSpieler]>0)
      {
        l2.setText(AusgabeUebersichtB);
      }
      else
      {
        l3.setText(AusgabeUebersichtC);
      }
      buttonreset();
  	b02.setText("Zurück ins Hauptmenue");
    b02.addActionListener(al02bet);
  }



  ActionListener al1 = new ActionListener() {
      public void actionPerformed( ActionEvent e ) {
          betrachten();
      }
    };
  ActionListener al2 = new ActionListener() {
      public void actionPerformed( ActionEvent e ) {
      	gebaudebau();
      }
    };


    ActionListener al02bet = new ActionListener() {
      public void actionPerformed( ActionEvent e ) {
      	buttonreset();
      	labelreset();
      	hauptmenue();
      }
    };

}
 
S

SlaterB

Gast
wenn du
b02.addActionListener(al02bet);
in einer häufig ausgeführten Operation drinstehen hast, dann siehst das ja zumindest Unheil versprechend aus,
vor allem auch in Hinblick auf die noch unbekannten Operationen
buttonreset();
labelreset();


möglicherweise erzeugst du ständig neue Buttons, löschst vielleicht gar die alten nicht,
fügst zumindest ständig neue ActionListener hinzu,

das muss alles nicht unbedingt bös enden,
aber wenn du sowas unnötigerweise machst, dann sind gravierende Fehler dabei auch denkbar


edit: Doppelpost?
http://www.java-forum.org/de/viewtopic.php?t=63303
 
G

Guest

Gast
Wie sollte ich Zeile 45 denn umschreiben?


Das soll ja alles ne Art Menü sein und wenn ich einen unterpunkt auswähle muss ich ja immerwieder die Möglichkeit haben zu meinem übergeordneten Menü zurückzukehren.

Dafür ist der Button b02 da


Die Veriablen sind alle unten in der Klasse deklariert, werden somit nur einmal erzeugt ....

was genau kann ich denn wie verändern damit es flüssiger wird, denn die Geschwindigkeit nimmt mit der Anzahl der klicke auf die Buttons exponentiell ab .....

was am Schluss ziemlich bös mies endet ... wie ihr euch vorstellen könnt
 
S

SlaterB

Gast
erstmal musst du entscheiden, welchen Sinn
b02.addActionListener(al02bet);
überhaupt hat,
hat b02 im Laufe der Zeit unterschiedliche Funktionen so dass der ActionListener wechselt?
oder wird b02 neu erstellt, so dass der ActionListener neu geadded werden muss?
werden die alten ActionListener entfernt bevor du den neuen einfügst?
 
G

Guest

Gast
b02 is der Button von dem ich aus den untermenüs immer in das Hauptmenü zurückkehren kann

Dabei muss ich aus jedem Untermenü andere Variablen beim zurückkehren übergeben.

ich brauch also verschiedene ActionListener für diesen einen Button.
In jedem untermenü bekommen die Buttons auch andere Funktionen und somit andere ActionListener
diese müssen im Hauptmenü natürlich zurückgesetzt werden und ich füge die "hauptmenü"-ActionListener wieder hinzu

ich hatte eben die Idee, die hinzugefügten ActionListener von Zeit zu Zeit zu entfernen

wäre ja dringen nötig

würde das mein Programm auch beschleunigen?
 
S

SlaterB

Gast
> ich hatte eben die Idee, die hinzugefügten ActionListener von Zeit zu Zeit zu entfernen
> wäre ja dringen nötig

machst du das denn nun bisher schon oder noch nicht?

> würde das mein Programm auch beschleunigen?

da niemand weiß woran es liegt, verbietet sich diese Frage,
aber schwer hoffen kann man natürlich

-----

eine Alternative wäre übrigens, die GUI mal GUI sein zu lassen
und das ganze irgendwo anders intern klären

der ActionListener ruft nur
fuehreAktionXYAus() auf
udn dort drin steht

if (aktueller Programmstatus == Untermenue a) {
// tue irgendwas
} else {
// tue was anderes
}
 
G

Guest

Gast
Es ha mein Programm beschleunigt, das Problem war wohl, das der selbe ActionLListener immer wieder geadded wurde und so der Befehl x^5 mal immer ausgeführt wurde ... das dauert natürlich sehr lange nach ein paar mal klicken.

Aber danke für eure schnelle Hilfe ^^

*aufatme^^*
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Rekursives Programm wird immer langsamer Allgemeine Java-Themen 10
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
O Programm wird einfach "gekillt" Allgemeine Java-Themen 3
L Prüfen, ob Programm über 32bit oder 64bit Java ausgeführt wird Allgemeine Java-Themen 4
P Check, welche Java Version installiert bevor ein Programm ausgeführt wird. Allgemeine Java-Themen 12
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
E externen Prozess schließen, wenn Programm geschlossen wird Allgemeine Java-Themen 2
S Verhindern das Programm mehrmals geöffnet wird Allgemeine Java-Themen 26
G Programm wird von java cmd runtime nicht aufgerufen? Allgemeine Java-Themen 13
W Warten bis gestartetes Programm beendet wird Allgemeine Java-Themen 2
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
districon Programm zum Durchsuchen von (Ebay-)Artikeln Allgemeine Java-Themen 1
T Addons im eigenen Programm Allgemeine Java-Themen 1
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
D Programm designen Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
S Nachrichten Filter Programm Allgemeine Java-Themen 14
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
S Programm entwickeln, welches ein Dreieckspuzzle lösen kann Allgemeine Java-Themen 5
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
S Einfaches Programm programmieren Allgemeine Java-Themen 5
M kleines KI Programm Idee Allgemeine Java-Themen 7
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
R Programm zur Rekursion Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
dereki2000 Programm veröffentlichen Allgemeine Java-Themen 14
mrbig2017 Threads Chat Programm mit Threads? Allgemeine Java-Themen 2
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
kodela Programm hängt in der Ereigniswarteschlange Allgemeine Java-Themen 13
A Java Programm verbessern/vereinfachen Allgemeine Java-Themen 20
P Programm darf nicht mehrfach startbar sein Allgemeine Java-Themen 16
S Programm hängt sich manchmal (selten) auf Allgemeine Java-Themen 9
JavaNewbie2.0 Programm nicht im Taskmanager schliesen können Allgemeine Java-Themen 15
J XML Datei mit installiertem Programm öffnen Allgemeine Java-Themen 7
Arif Input/Output Dateien im Jar-Programm speichern Allgemeine Java-Themen 12
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
JavaNewbie2.0 Programm bleibt "stehen" Allgemeine Java-Themen 2
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
Aruetiise Methoden .jar mit Programm öffnen Allgemeine Java-Themen 2
C anderes Programm schließen! Allgemeine Java-Themen 5
C Webseiten Programm problem Allgemeine Java-Themen 5
E Programm auf Installation prüfen Allgemeine Java-Themen 1
J Programm zum Download von CSV-Dateien Allgemeine Java-Themen 4
E Programm ohne Windowsrand(Vollbild) ? Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
P Schnittstelle java Programm zu Webserver / Browser Allgemeine Java-Themen 2
J Schutz Programm Jar Exe Allgemeine Java-Themen 7
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
U Input/Output Warum wirft mir das Programm diesen Fehler? Allgemeine Java-Themen 6
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
B Programm updaten mit FXLauncher Allgemeine Java-Themen 1
D Nicht quelloffenes Programm Allgemeine Java-Themen 5
F Java-Programm lizensieren Allgemeine Java-Themen 21
I Programm im Hintergrund bei Windows zur Steuerung der Tastatur nutzen Allgemeine Java-Themen 2
X Aus Programm "Installationsprogramm" machen Allgemeine Java-Themen 6
T Java Programm in Internetseite? Allgemeine Java-Themen 4
T Java Programm frisst RAM Allgemeine Java-Themen 6
H Alter Java-Programm läuft nicht mehr. Laut strace fehlt libpthread.so.0 Allgemeine Java-Themen 3

Ähnliche Java Themen


Oben