SWT: GUI Windows Events

Status
Nicht offen für weitere Antworten.
N

neu

Gast
Hallo,

ich besuche oft diese Seite und die Suche... Bisher hat sie mir fast immer weiter helfen können aber nun muss ich doch fragen..

Ich habe einen Dialog auf dem eine Anzahl angezeigt wird. Sie aktualisiert sich immer wieder und die Anzahl steigt. Das alles klappt wunderbar.
Auch die Progress Bar usw. läuft. Solange ich diesen Dialog als aktuelles Fenster direkt nach dem Starten bei behalte.

Nun, wenn ich den Dialog minimiere, bewegen oder ein anderes Fenster öffne, dann bleibt der Counter und die Progress Bar stehen..
Die Aktualisierung klappt also nur so lange wie ab start der Dialog nicht angefasst oder etwas anderes gemacht wurde.

Welche Funktion muss ich aufrufen damit sich der Dialog IMMER aktualisiert, auch wenn ich ihn bewege, minimiere, oder nebenbei noch etwas anderes auf gemacht habe..???:L

Danke.. :D
 
N

neu

Gast
Hier aktualisiere ich den Dialog:
Code:
     public static void refresh(Integer j)
    {
        label.setText(j.toString());
        s.update();
    }

    public static void refreshProgressBar(double integ)
    {

        prb.setSelection((int) integ);
        prb.update();
        s.update();
    }

Klappt auch solange ich den Dialog nicht minimiere oder etwas nebenher öffne.

:D
 

Wildcard

Top Contributor
Was soll man den an dem Code erkennen? :bae:
Mach mal ein kleines lauffähiges Beispiel das dein Problem reproduziert.
 
N

neu

Gast
ok.. mal eben schnell zusammen getippelt.. ist nicht wirklich sinnig aber es beinhaltet auch den "Fehler" mit der Aktualisierung und so ähnlich läuft es bei mir.. Im testtest() habe ich jetzt einfach um das nach zu stellen eine lange Zählschleife eingebaut damit das Teil nicht so früh aufhört wenn man testen will..

Code:
public class TEST {
	Label l;
	
	Shell s;
	public TEST() {
		test();
	}
	
	public void test() {
		Display d = new Display();
		s = new Shell(d);
		s.setSize(500,500);
		l = new Label(s, SWT.NONE);
		l.setText("0");
		l.setLocation(100,100);
		l.setSize(80,50);
		
		Button b = new Button(s, SWT.PUSH);
		b.setText("DRÜCK");
		b.setSize(60,25);
		b.setLocation(100,350);
		
		b.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent se)
            {
                testtest();
            }
        });
		
		s.open();

        while (!s.isDisposed())
        {
            if (!d.readAndDispatch())
                d.sleep();
        }
	}

	public static void main(String[] args) {
		new TEST();
		
	}
	
	public void testtest() {
		for (int i = 0; i < 2000000; i++) {
			refresh(i);
			for(int j = 0; j < 1000000; j++) {
				
			}
		}
	}
	
	public void refresh(Integer i) {
		
		l.setText(i.toString());
		s.update();
	}
}
 

Wildcard

Top Contributor
Du blockierst den Dispatcher Thread. Hier mal eine korrigierte Version:
Code:
public class TEST
{
    Label l;

    Shell s;

    public TEST()
    {
        test();
    }

    public void test()
    {
        Display d = new Display();
        s = new Shell(d);
        s.setSize(500, 500);
        l = new Label(s, SWT.NONE);
        l.setText("0");
        l.setLocation(100, 100);
        l.setSize(80, 50);

        Button b = new Button(s, SWT.PUSH);
        b.setText("DRÜCK");
        b.setSize(60, 25);
        b.setLocation(100, 350);

        b.addSelectionListener(new SelectionAdapter()
        {
            public void widgetSelected(SelectionEvent se)
            {
                testtest();
            }
        });

        s.open();

        while (!s.isDisposed())
        {
            if (!d.readAndDispatch())
                d.sleep();
        }
    }

    public static void main(String[] args)
    {
        new TEST();

    }

    public void testtest()
    {
        new Thread()
        {
            public void run()
            {
                for (int i = 0; i < 2000000; i++ )
                {
                    refresh(i);
                    try
                    {
                        Thread.sleep(10);
                    }
                    catch (InterruptedException e)
                    {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }.start();

    }

    public void refresh(final Integer i)
    {

        Display.getDefault().asyncExec(new Runnable()
        {
        
            public void run()
            {
                l.setText(i.toString());
                s.redraw();
        
            }
        
        });

    }
}
 
G

Guest

Gast
:applaus: :applaus: :applaus: :applaus: :applaus: DANKE..

Das funktioniert jetzt.. uff... :D

:toll:
 
N

neu

Gast
???:L wie reagiere ich denn auf Fehler!? Eine Catch-Klausel nutzt mir in dem Fall nichts.. :(

Habe während der Thread läuft ja nicht nur die GUI-Aktualisierung sondern auch etwas was im Hintergrund läuft. Daten werden über eine Schnittstelle zum AS geliefert. Im Falle eines Fehlers bekomme ich eine Fehlernummer zurück.. Wenn ich allerdings den Thread um meine Aktivitäten habe dann bricht der Thread ab ohne das ich an diese Fehlernummer komme um sie zu verarbeiten.. Ich versuche mich gerade durch die Beschreibungen zu Thread zu lesen aber das was ich suche finde ich nicht..

???:L
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Globale Events in Windows abfangen AWT, Swing, JavaFX & SWT 2
MiMa JavaFX JAR unter Windows ausführen schlägt fehl? AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
L Swing Panels bewegen wie Windows 10 Kacheln AWT, Swing, JavaFX & SWT 0
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
M Swing Code funktioniert auf Windows aber nicht Linux... AWT, Swing, JavaFX & SWT 3
Blender3D Meine Swing Anwendung läuft unter Windows 10 und Ubuntu aber nicht auf Windows 7 AWT, Swing, JavaFX & SWT 16
S Java Swing auf Windows Phone AWT, Swing, JavaFX & SWT 6
M Swing JComboBox mit Laufwerksbuchstaben (Windows) AWT, Swing, JavaFX & SWT 6
K JPanel Bilder bei Windows nicht darstellbar AWT, Swing, JavaFX & SWT 6
Ghostman1711 GUI Java von Klasse mit Application Windows anderes Application Window aufrufen AWT, Swing, JavaFX & SWT 6
Grevak DisplayMode Problem seit Windows 10 AWT, Swing, JavaFX & SWT 2
Avarion Swing JFrame unter Windows 10 kleiner ?! AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Windows Blue-Screen nach anzeigen eines Bildes in Java AWT, Swing, JavaFX & SWT 10
S Swing Automatisch 2px Rahmen in Windows 8 AWT, Swing, JavaFX & SWT 0
A Swing JProgressbar im Windows Look & Feel Farbanpassung AWT, Swing, JavaFX & SWT 2
P Verbuggte custom JButton unter Windows AWT, Swing, JavaFX & SWT 9
W Windows Fenster in einem Programm AWT, Swing, JavaFX & SWT 2
morphesus AWT Windows 7 Aero Look AWT, Swing, JavaFX & SWT 2
H Fenstergröße bei Mac und Windows gleich einstellen? AWT, Swing, JavaFX & SWT 3
R Problem mit TrayIcon unter Windows/Linux AWT, Swing, JavaFX & SWT 7
B Windows Look and Feel AWT, Swing, JavaFX & SWT 2
S Swing TrayIcon bei Systemdienst (Windows, Systemuser) AWT, Swing, JavaFX & SWT 7
N Swing JTree TreePath zu Windows Pfad? AWT, Swing, JavaFX & SWT 2
S GUI aussehen unter Windows und Linux (und Mac) AWT, Swing, JavaFX & SWT 13
N Swing von Windows zu Ubuntu AWT, Swing, JavaFX & SWT 3
S Swing Threads Windows 7 64 bit AWT, Swing, JavaFX & SWT 12
E Windows Kontext Menü - Laufendes Programm AWT, Swing, JavaFX & SWT 3
A Swing Probleme unter Windows 7 AWT, Swing, JavaFX & SWT 5
Dragonfire Swing UTF-8 BOB Probleme mit Windows Look and Feel AWT, Swing, JavaFX & SWT 4
J Applet Linux(-(k)ubuntu-)-Firefox-Java-Plugin - Fensterschließprobleme die bei Windows so nicht auftreten AWT, Swing, JavaFX & SWT 4
F AWT MouseMotionListener e.getButton() ist immer 0 unter Linux und Windows AWT, Swing, JavaFX & SWT 6
E Implementierung des Windows Rechners? AWT, Swing, JavaFX & SWT 7
O AWT Shaped, Translucent Windows AWT, Swing, JavaFX & SWT 14
LittleJavaCup Suchmaschine programmieren (wie bei Windows) AWT, Swing, JavaFX & SWT 2
W TrayIcon in Windows 7 unscharf AWT, Swing, JavaFX & SWT 8
R Windows-Dateien auf GUI ziehen AWT, Swing, JavaFX & SWT 3
G Quaqua unter Windows AWT, Swing, JavaFX & SWT 15
S LookAndFeel Look and Feel mit Windows funktioniert nicht AWT, Swing, JavaFX & SWT 8
G Windows XP layout herausfinden AWT, Swing, JavaFX & SWT 7
J Java & Windows-7-Taskbar AWT, Swing, JavaFX & SWT 13
M Swing JFileChooser mit Windows 7 AWT, Swing, JavaFX & SWT 8
L JPanel mit Objekten selektieren wie unter Windows / Ubuntu AWT, Swing, JavaFX & SWT 4
A Swing LAF unter Windows: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D AWT, Swing, JavaFX & SWT 5
M Fenster Windows-Like anordnen AWT, Swing, JavaFX & SWT 2
B Swing Windows Shortcuts ersetzen AWT, Swing, JavaFX & SWT 9
P Swing [gelöst/erledigt] Gleicher Code läuft unterschiedlich unter Linux und Windows AWT, Swing, JavaFX & SWT 5
G JFrame und Windows Vista? AWT, Swing, JavaFX & SWT 4
G JFrame in Windows? AWT, Swing, JavaFX & SWT 4
D Transperency of Windows AWT, Swing, JavaFX & SWT 7
P SWT, Windows 2000, GDI+ und Microsoft Redistributable AWT, Swing, JavaFX & SWT 3
N Modale Windows AWT, Swing, JavaFX & SWT 2
G windows look and feel problem AWT, Swing, JavaFX & SWT 7
S KeyEvents in Linux und Windows AWT, Swing, JavaFX & SWT 14
M Windows-Applikationen minimieren AWT, Swing, JavaFX & SWT 4
G Windows Vista Gadget AWT, Swing, JavaFX & SWT 5
T SWT - Wie Windows erstelltes .jar auf einem MAC ausführen? AWT, Swing, JavaFX & SWT 25
M Windows-Fensterinhalt in Java-Applikation darstellen AWT, Swing, JavaFX & SWT 6
G Windows Taste in KeyEvent? AWT, Swing, JavaFX & SWT 4
P SWT - "Combo" aus dem Windows-FileDialog AWT, Swing, JavaFX & SWT 3
A JProgressBar: Farbe im Windows Look&Feel ändern. AWT, Swing, JavaFX & SWT 1
K Windows Style als standard? AWT, Swing, JavaFX & SWT 2
S Bei SWT den Windows beenden Button manipulieren? AWT, Swing, JavaFX & SWT 4
T JGoodies unter Windows 98 AWT, Swing, JavaFX & SWT 4
F AWT Programm unter Linux anders als unter Windows ! AWT, Swing, JavaFX & SWT 8
P Swing-Komponenten - Standart-Windows Design? AWT, Swing, JavaFX & SWT 4
I Windows LaF verbessern? AWT, Swing, JavaFX & SWT 12
F Schriftarten unter Windows und Linux AWT, Swing, JavaFX & SWT 6
T Windows-Typisches Menü für Swing AWT, Swing, JavaFX & SWT 3
G Windows LookAndFeel - Classpath AWT, Swing, JavaFX & SWT 6
M Windows file icons in Java verwenden AWT, Swing, JavaFX & SWT 2
TheJavaKid Windows 98 LaF AWT, Swing, JavaFX & SWT 4
G standard blau (windows) != color.blue AWT, Swing, JavaFX & SWT 2
G JTable wird im Windows Look&Feel nicht gedruckt AWT, Swing, JavaFX & SWT 5
B Komische Darstellung unter Windows 2000 AWT, Swing, JavaFX & SWT 2
W Problem mit Fensteranzeige in Windows AWT, Swing, JavaFX & SWT 3
O Windows Lautstärke regeln wie? AWT, Swing, JavaFX & SWT 23
C Java Programm wie Windows Taskleiste AWT, Swing, JavaFX & SWT 2
P Garfikfehler unter Windows 2000 AWT, Swing, JavaFX & SWT 3
T Programm gleich wie Windows Media Player in den Task geben AWT, Swing, JavaFX & SWT 10
H Wie bastelt man eine Baumstruktur wie im Windows-Explorer? AWT, Swing, JavaFX & SWT 5
A Probleme mit Windows Style (Background) AWT, Swing, JavaFX & SWT 4
javasdann JTable Kopfzeile in Windows Look&Feel unschön. AWT, Swing, JavaFX & SWT 3
L windows explorer AWT, Swing, JavaFX & SWT 4
O SWT-Anwendung für Windows und Linux verteilen AWT, Swing, JavaFX & SWT 3
B JTree + Linien im Windows L&F AWT, Swing, JavaFX & SWT 9
T Das Windows Fenster "Öffnen" mit Java darstellen AWT, Swing, JavaFX & SWT 9
V Windows Look für JTree? AWT, Swing, JavaFX & SWT 3
G mouse events AWT, Swing, JavaFX & SWT 6
Heldderschatten Java Events und Interfaces AWT, Swing, JavaFX & SWT 18
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
D Swing Events vom JLayer abfangen AWT, Swing, JavaFX & SWT 2
D Transparentes Hauptfenster Events AWT, Swing, JavaFX & SWT 1
M Swing Hinter die Kulissen von Events (addActionListener) AWT, Swing, JavaFX & SWT 6
N JTextArea Events weiterleiten AWT, Swing, JavaFX & SWT 3
R SWT Eigene Events erstellen und werfen AWT, Swing, JavaFX & SWT 59
S Mouse Events in einer sortierten JTable unterscheiden AWT, Swing, JavaFX & SWT 18
C Swing Simulation von Drag and Drop Events AWT, Swing, JavaFX & SWT 3
J Events und Sleep? AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben