Threads Konstantes Update

Status
Nicht offen für weitere Antworten.

Garog0201

Mitglied
Hallo zusammen,

ich bin nun schon eine Weile mit Java beschäftigt und kämpfe noch immer etwas mit GUI Anwendungen und dem nutzen von Threads.
Das Hauptproblem dabei dürfte sein, dass ich nicht wirklich weiß, wie ich sie vernünftig einsetze.

Ich habe ein Programm mit ein paar Buttons. Der eine schließt das Programm, der andere setzt einen boolschen Wert auf true. Ebenfalls habe ich noch einen Slider (0-100).

Nun möchte ich das alle Buttons und der Slider nutzbar sind, gleichzeitig soll einen Live Trend/Graphen dargestellt werden der den Wert des Sliders in den letzten 10 Sekunden als Kurve darstellt.

Klang für mich erstmal recht "simple".
Ich habe meine Main Class mit
Java:
public class Main extends JComponent implements Runnable {
angelegt.

In der Main Methode dann das folgende:
Java:
public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setSize(1024, 600);
        Main system = Main();
        frame.setContentPane(system);
        new Thread(system).start();
        createContents(frame);
        frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        frame.setVisible(true);

In der Methode createContents(Frame frame) werden meine Buttons und der Slider angelegt.

Im
Java:
    @Override
    public void run() {
habe ich eine while(true) Schleife mit den benötigten Berechnungen für die Pixelpositionen usw. (kleiner Auszug)
Java:
         while(true)
if(update){
       for (int i = 0; i < 900; i++) {
                    if (i > 0)
                        aktuell[i - 1] = aktuell[i];
                }
                aktuell[899] = 360 - wert;
                this.validate();
                this.repaint();

Passend dazu dann ein
Java:
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
for (int i = 1; i < 900; i++) {
                g.drawLine(i + 46, aktuell[i - 1] + 40, i + 46, aktuell[i] + 40);
            }
}

soweit so gut, das ganze läuft auch sauber ohne flackern oder dergleichen.
Die Kurve wird alle 10ms neu gezeichnet und beim verschieben des Sliders auch entsprechend dargestellt.

Nur irgendwie finde ich das ganze was ich da gemacht habe unglaublich unschön.
Ich würde das erstellen der Kurve z.b. gerne in einer eigenen Class haben wobei z.b. der Sliderwert mit einem getSliderWert geholt wird.
Im Moment ist alles in der Class Main und dort mit "globalen" Variablen gelöst.

Nun bin ich gerade dabei das ganze etwas umzustellen und etwas sauberer (zumindest denke ich das) zu lösen und wollte das berechnen der Kurvenwerte in einer eigenen Klasse MyKurve machen.
Dieser übergebe ich die gesamte Frame.
In der MyKurve nutze ich dann den getter von MyFrame getSliderWert.
In der Main Class hole ich mir dann mit getKurvenwerte (getter von MyKurve) das Array mit den Werten von MyKurve und möchte dies nun wie oben im Code im paintComponents neu anzeigen.

Irgendwie funktioniert das auch... die Kurve wird gezeichnet und wenn ich am Slider schiebe wird sie auch mit entsprechenden Werten "geupdatet".
Jedoch befinden sich der Slider z.b. nicht an der richtigen Position und hat die gesamte Breite des Frames..
Was mich aber viel mehr stört inzwischen ist der Umstand, dass ich nun nicht mehr wirklich weiß wie ich den Thread in meinem WindowAdapter schließe bevor ich das Frame mit dispose(); beende.

Das sieht alles zu gefummelt aus, Funktionen mit xy Übergabewerten damit alles irgendwie funktioniert und ich an Stelle X auf den Wert an Stelle Y zugreifen kann.

Daher würde ich gerne ein paar Ideen von euch lesen oder Vorschlage zu lesenswertem Stoff genannt bekommen, wie ich mein "Problem" mit dem konstanten neuzeichnen der Kurve am besten und saubersten lösen kann.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Mugetsu35 ArrayList Update ohne Index Java Basics - Anfänger-Themen 6
E Mysql Update wenn es nicht existiert insert Java Basics - Anfänger-Themen 14
G Konstruktor und update Java Basics - Anfänger-Themen 4
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
J Threads PrograssBar update während thread Java Basics - Anfänger-Themen 13
S Lost-Update Semaphore Java Basics - Anfänger-Themen 6
K Schlüsselworte Nach Java update findet mdb Datei nicht Java Basics - Anfänger-Themen 6
M Methodenaufruf über SQL UPDATE Java Basics - Anfänger-Themen 8
J JavaFX -> SocketIO -> Thread -> Update Label Java Basics - Anfänger-Themen 13
C JTable update mit MySQL Datenbank Java Basics - Anfänger-Themen 1
J fehler nach windows update Java Basics - Anfänger-Themen 44
Y Observer update Java Basics - Anfänger-Themen 3
X Eventservice Probleme nach Update Java Basics - Anfänger-Themen 0
B VAriables update in for-Schelifen Java Basics - Anfänger-Themen 3
L Jar aus Jar Starten lassen (Update Tool) Java Basics - Anfänger-Themen 6
P Update System Java Basics - Anfänger-Themen 16
R Nach Ubuntu-Update: Konsole spuckt bei neu Kompilierten Programmen Fehler aus (BlueJ)(Ubuntu12.04) Java Basics - Anfänger-Themen 11
L Auf herunterfahren des PCs reagieren und Datensatz update machen Java Basics - Anfänger-Themen 15
K Threads jProgressBar update Java Basics - Anfänger-Themen 14
Gugelhupf JDK installieren Fehlermeldung 1336 - Java SDK 7 Update 5 x64 Java Basics - Anfänger-Themen 4
A JDK installieren Java update - neu installieren? Java Basics - Anfänger-Themen 7
R JDK installieren Nach Update auf java 1.7 Connection refused Java Basics - Anfänger-Themen 9
E Programm - Update via Internet? Java Basics - Anfänger-Themen 5
B JDK installieren Java SE Development Kit 6 Update 25 Java Basics - Anfänger-Themen 5
M Update-Ticker... String in Textdatei schreiben und auslesen Java Basics - Anfänger-Themen 5
S MVC Prinzip - update() ? Java Basics - Anfänger-Themen 2
B Problem mit prepareStatement UPDATE Java Basics - Anfänger-Themen 2
M Serializable - Bei Update ältere Daten importieren Java Basics - Anfänger-Themen 14
C JAVA - Einstieg mit Eclipse - Update Sites und Ähnliches Java Basics - Anfänger-Themen 6
S JTree, Problem mit View Update Java Basics - Anfänger-Themen 2
L Java Persistence API - Update Befehl? Java Basics - Anfänger-Themen 5
hdi Fehler beim Model-Update einer JList (DefaultListModel) Java Basics - Anfänger-Themen 3
A update/draw schleife Java Basics - Anfänger-Themen 5
S update wird nicht aufgerufen Java Basics - Anfänger-Themen 9
G JFreeChart und das Update(was nicht klappt). Java Basics - Anfänger-Themen 3
A label update Java Basics - Anfänger-Themen 10
Y JDK 6 Update 5 with Java EE? Java Basics - Anfänger-Themen 2
M Java SQL-Update Java Basics - Anfänger-Themen 6
A per "update" ein Bild Strich für Strich "male Java Basics - Anfänger-Themen 9
S Ein Update System programmieren Java Basics - Anfänger-Themen 27
P Zeichenprogramm-->update() aushebeln Java Basics - Anfänger-Themen 11
S SQL UPDATE in Java "wie schreiben"? Java Basics - Anfänger-Themen 6
E Update JList Java Basics - Anfänger-Themen 13
J Problem bei Update auf Datenbank Java Basics - Anfänger-Themen 2
K Observer Observable update() . Java Basics - Anfänger-Themen 13
R JRE 1.5.0 Update 7 Install erkennt nicht Firefox/Netscape Java Basics - Anfänger-Themen 3
M [SOLVED]update() bei MVC Java Basics - Anfänger-Themen 4
M Datenbankabfrage mit UPDATE Java Basics - Anfänger-Themen 4
M Unterschied zwischen J2SE 5.0 Update x und J2SE 1.4.x Java Basics - Anfänger-Themen 4
N Array aus JCheckBox? 1000 if's UPDATE: Spaltennamen auslesen Java Basics - Anfänger-Themen 12
G Update auf Datenbankspalte vom Typ Timestamp mit aktu. Datum Java Basics - Anfänger-Themen 3
G Observable/Observer update wird nicht ausgeführt Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben