Entwerfen eines Begrüßungsbildschirms (Java)

8

Ich möchte einen Begrüßungsbildschirm entwerfen, der den aktuellen Ladevorgang mit einem Fortschrittsbalken anzeigen kann. ähnlich wie Netbeans Startbildschirm, wie es

zeigt %Vor%

und nachdem das Laden beendet ist, erscheint die Hauptanwendung.

Ich habe viele Artikel gelesen, die nur mit dem Erstellen eines Begrüßungsbildschirms zu tun haben, aber keiner von ihnen behandelt die Vorgehensweise zum Anzeigen des Fortschritts verschiedener Hintergrundaufgaben auf einem Begrüßungsbildschirm.

Wie kann ich das erreichen?

Kann ich Javafx 2 für den Startbildschirm verwenden, während der Rest der Anwendung mit Java geschrieben wird

Gelöst!

Ich habe es endlich geschafft zu arbeiten. Mein Fehler war, dass ich den GUI-Inhalt im Aufgaben-Thread aktualisiert hatte, so dass mein Aufgaben-Thread blockiert war und die nächsten Anweisungen nach den GUI-Update-Anweisungen nicht ausgeführt werden konnte. Jetzt habe ich diese Updating-GUI-Anweisung nach Task Completion verschoben. und seine Arbeit ..... Danke Jewelsea für den richtigen Weg.

    
Deepak 03.04.2012, 16:29
quelle

6 Antworten

9

Ich habe zuvor ein Begrüßungsseiten-Beispiel für eine eigenständige JavaFX 2.0-Anwendung erstellt.

Ich habe das Beispiel aktualisiert, um die Überwachung des Ladefortschritts über einen Fortschrittsbalken und einen Fortschrittstext auf der Begrüßungsseite zu demonstrieren.

Um den Code zur Überwachung des Initialisierungsfortschritts Ihrer Anwendung anzupassen, anstatt die ProgressBar an die loadWorker.workDone -Eigenschaft einer WebEngine zu binden, erstellen Sie eine JavaFX-Datei Task , die aufwendige Initialisierungsarbeiten durchführt und den Fortschritt von Task über die Aufgabe progressProperty und messageProperty .

Hier finden Sie einen Link zu einem Splash-basierten Beispiel , das auf dem im vorherigen Absatz beschriebenen Task-Ansatz basiert.

Verwenden Sie für eine WebStart- oder Browser-eingebettete JavaFX-Anwendung einen Preloader vorgeschlagen von assylias.

    
jewelsea 03.04.2012, 21:13
quelle
4

Wenn Sie icon element kann sich auf eine Vielzahl von Bildern beziehen. Die Fortschrittsanzeige wird während des Downloads vom jnlp -Client verarbeitet. Der Vorteil liegt darin, sehr früh in die Benutzererfahrung einzugreifen.

Später kann ein SwingWorker Bilder im Hintergrund laden, wie hier hier . Die Methode progress() des Mitarbeiters kann JProgressBar über PropertyChangeListener steuern, wie hier hier .

    
trashgod 03.04.2012 20:42
quelle
3

Unter Verwendung eines Preloaders soll der Fortschritt der Anwendungsinitialisierung angezeigt werden Sie suchen.

    
assylias 03.04.2012 17:50
quelle
3

Sehen Sie sich das Swing-Startbildschirm-Lernprogramm an, das ein Beispiel enthält wo eine Fortschrittsanzeige auf dem Begrüßungsbildschirm aktualisiert wird. Sie können das Beispiel einfach anpassen, um stattdessen einen Text zu aktualisieren.

    
Robin 03.04.2012 19:17
quelle
0

Sie erstellen auch Splash Screen mit Java,

Aber wenn Sie weniger Code und mehr als JavaFx Splash-Bildschirm Komponente verwenden möchten.

    
Yogesh Prajapati 03.04.2012 16:34
quelle
0

Der Vollständigkeit halber, wenn Sie eine Fortschrittsanzeige anzeigen möchten. Zitieren der SplashScreen javadoc :

  

Das Begrüßungsbildschirmfenster wird automatisch geschlossen, sobald das erste Fenster angezeigt wird   Fenster wird durch Swing / AWT angezeigt.

bedeutet, dass es keine Standard-AWT / Swing-Komponenten (wie JProgressBar ) verwenden kann, sondern nur durch die Graphics2D Methoden (zB drawText() , fillRect() , ...).

Sie müssten also einen Fortschrittsbalken in einer separaten Klasse emulieren (Code wird als sehr grobe Demonstration angegeben. Sie sollten nach SplashScreen.isVisible() ):

%Vor%

Dann:

%Vor%     
Matthieu 20.12.2016 16:37
quelle

Tags und Links