Loading Screen anzeigen bei Black Screen

memuench

Mitglied
Hallo zusammen,
Ich habe eine GUI erstellt mit LayoutManager. Wenn ich dort auf einen bestimmten Knopf drücke, wird diese Klasse ausgeführt:
Java:
package pdf;

import java.awt.SplashScreen;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import org.apache.pdfbox.pdfviewer.PDFPagePanel;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;

public class PDFViewer {
  int currentPageNo = 0;
 
  public PDFViewer(String path) {
    //ImageIcon logo = new ImageIcon("resources/BASF_logo_logotype.png");//Splashscrreen

    File pdf_path = new File(path);
    try {
     PDDocument inputPdf = PDDocument.load(pdf_path);
      List<PDPage> allPgs = inputPdf.getDocumentCatalog().getAllPages();
      PDPage testPage = (PDPage)allPgs.get(0);
     
      JFrame testFrame = new JFrame();
      testFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
      testFrame.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
          try {
            inputPdf.close();
            testFrame.setVisible(false);
          } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
          }
       
        }
      });
      PDFPagePanel pdfPanel = new PDFPagePanel();
      pdfPanel.setPage(testPage);
      testFrame.add(pdfPanel);
      testFrame.setBounds(0, 0, pdfPanel.getWidth(), pdfPanel.getHeight()+50);
      testFrame.addKeyListener(new KeyAdapter() {

        @Override
        public void keyTyped(KeyEvent e) {
          // TODO Auto-generated method stub
         
        }

        @Override
        public void keyPressed(KeyEvent e) {
          if(e.getKeyCode() == KeyEvent.VK_DOWN ) {
            if(currentPageNo < allPgs.size()-1) {
              currentPageNo++;
              PDPage currentPage = (PDPage)allPgs.get(currentPageNo);
              pdfPanel.setPage(currentPage);
              testFrame.add(pdfPanel);
              testFrame.invalidate();
              testFrame.validate();
              testFrame.repaint();
             
            }
          }
         
          if(e.getKeyCode() == KeyEvent.VK_UP) {
            if(currentPageNo>0) {
              currentPageNo--;
              PDPage currentPage = (PDPage)allPgs.get(currentPageNo);
              pdfPanel.setPage(currentPage);
              testFrame.add(pdfPanel);
              testFrame.invalidate();
              testFrame.validate();
              testFrame.repaint();
            }
          }
         
        }

        @Override
        public void keyReleased(KeyEvent e) {
          // TODO Auto-generated method stub
         
        }
       
      });
     
      testFrame.setVisible(true);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }

}

Der Code tut was er soll, jedoch braucht es ewig, damit der PDF Viewer angezeigt wird. Während es lädt, also noch kein Reader zu sehen ist, wollte ich einen Ladebildschirm implementieren (mithilfe eines Splashscreens nehme ich an?), der ein GIF anzeigt, bis eben der Reader fertig geladen ist. Im Internet sind die Tutorials zu dem Thema eher mager und oft werden pro Tutorial andere Vorgänge genommen. Hat jemand einen Ansatz wie ich hier vorgehe??

Vielen Dank im Voraus
 

krgewb

Top Contributor
Ich habe dir ein Beispiel gebastelt.

Java:
import java.awt.*;
import javax.swing.*;

public class Hauptprogramm {

    public static void main(String[] args) {
             Hauptfenster hauptfenster = new Hauptfenster();
    }

}

class Hauptfenster extends JFrame {

    private FuerLogo f;

    public Hauptfenster() {

        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setTitle("Beispiel fuer memuench");
        this.setPreferredSize(new Dimension(500, 500));
        this.f = new FuerLogo();
        this.pack();
        this.setVisible(true);
        this.f.setVisible(true);
    }

}

class FuerLogo extends JWindow {

    public FuerLogo() {

        JButton btnLogo = new JButton();
        this.add(btnLogo);

        ImageIcon logo = new ImageIcon("resources/BASF_logo_logotype.png");
        btnLogo.setIcon(logo);

        btnLogo.setPreferredSize(new Dimension(logo.getIconWidth(), logo.getIconHeight()));

        // Deckkraft
        this.setOpacity(1.0f);

        this.pack();

        // Position bestimmen: mittig.
        this.setLocationRelativeTo(null);
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Splash Screen / "Loading" Anzeige im Programm AWT, Swing, JavaFX & SWT 27
Spot84 Lazy Loading mit JTable AWT, Swing, JavaFX & SWT 2
J Lazy Loading eine JTree während Scrollen AWT, Swing, JavaFX & SWT 11
J Swing Lazy Loading in JTree wenn gescrollt wird AWT, Swing, JavaFX & SWT 3
N DB als JTree mit lazy loading AWT, Swing, JavaFX & SWT 2
I Screen nur 1x öffnen können AWT, Swing, JavaFX & SWT 17
Danloc Swing Splash Screen Prozentanzeige AWT, Swing, JavaFX & SWT 4
S 3D-Grafik Marker zu aus Screen anvisiertem Object AWT, Swing, JavaFX & SWT 1
Hijo2006 Splash-Screen AWT, Swing, JavaFX & SWT 2
stylegangsta Splash Screen erscheint nicht AWT, Swing, JavaFX & SWT 30
J 2D-Grafik Windows Blue-Screen nach anzeigen eines Bildes in Java AWT, Swing, JavaFX & SWT 10
F GWT Screen size AWT, Swing, JavaFX & SWT 2
E Swing Grundlegendes Vorhehen. Login-Screen, danach Arbeits-Screen AWT, Swing, JavaFX & SWT 4
R MouseEvent.getX() liefert in Applet Screen-Koordinate AWT, Swing, JavaFX & SWT 2
G AWT Full-Screen Exclusive Mode AWT, Swing, JavaFX & SWT 3
P Swing || AWT unschlüssig + Layoutfrage [m. Screen] AWT, Swing, JavaFX & SWT 16
J Screen Capture AWT, Swing, JavaFX & SWT 5
L Animierter Splash-Screen (mit NetBeans 6.1 z.B.) AWT, Swing, JavaFX & SWT 2
F splash screen mit progress bar - probleme mit invoke later AWT, Swing, JavaFX & SWT 7
H Transparente Splash-Screen AWT, Swing, JavaFX & SWT 5
I Splash Screen AWT, Swing, JavaFX & SWT 7
G Screen nach Auswahl schließen und neuen öffnen?wie mach ichs AWT, Swing, JavaFX & SWT 8
O der neue eclipse 3.1 splash screen AWT, Swing, JavaFX & SWT 3
G Splash Screen AWT, Swing, JavaFX & SWT 6
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
W Kleine Sub-Tabelle in SpreadsheetView-Zelle anzeigen AWT, Swing, JavaFX & SWT 9
J Java GUI Dropdown-Menü anzeigen AWT, Swing, JavaFX & SWT 5
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
M Swing Bilder in Swing anzeigen AWT, Swing, JavaFX & SWT 9
J BufferedImages nacheinander als Video anzeigen AWT, Swing, JavaFX & SWT 14
BananenBrötchen Swing Arraylist in jList anzeigen AWT, Swing, JavaFX & SWT 6
Lukas2904 Swing ID von WLAN Kamera anzeigen lassen. AWT, Swing, JavaFX & SWT 2
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
G AWT AWT Kreise permanent anzeigen AWT, Swing, JavaFX & SWT 3
MiMa File Dateien im ListView als Name anzeigen? AWT, Swing, JavaFX & SWT 6
C Swing In der Titelleiste den Namen und den vollständigen Pfad bzw URL des aktuellen Dokuments anzeigen AWT, Swing, JavaFX & SWT 25
C Swing Aufruf der Funktion (die ein Dialog anzeigt) über Symbol anzeigen lassen AWT, Swing, JavaFX & SWT 4
O Timer in JOptionPane anzeigen AWT, Swing, JavaFX & SWT 2
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
C JavaFX Veränderungen in Scenebuilder in Eclipse als Quellcode anzeigen lassen AWT, Swing, JavaFX & SWT 11
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
J Warum kann ich die Spaltennummer in der Konsole anzeigen, diese aber nicht speichern ? AWT, Swing, JavaFX & SWT 6
VPChief Icons in 2 Jlabels Director nebeneinander anzeigen AWT, Swing, JavaFX & SWT 26
E Auf JPanel malen und davor JComponenten anzeigen AWT, Swing, JavaFX & SWT 12
A Swing Datei lässt sich zwar speichern, aber nicht laden (Inhalt im JTextField anzeigen) AWT, Swing, JavaFX & SWT 18
S Text-Info in der Taskbar anzeigen AWT, Swing, JavaFX & SWT 15
R JavaFX Label oder Imageview anzeigen mit Buttonklick AWT, Swing, JavaFX & SWT 4
B ArrayList, Strings anzeigen AWT, Swing, JavaFX & SWT 1
P Abwächselnd ein Punkt und ein x anzeigen AWT, Swing, JavaFX & SWT 2
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
T Swing Buffered Image anzeigen AWT, Swing, JavaFX & SWT 45
E Aktuelle Uhrzeit auf jeder Stage anzeigen lassen (JavaFX) AWT, Swing, JavaFX & SWT 2
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7
CptK Swing DropdownMenu über Panel-Grenzen hinaus anzeigen AWT, Swing, JavaFX & SWT 1
M JavaFX Bild zur ImageView in einem Kreis anzeigen. AWT, Swing, JavaFX & SWT 4
F Countdown in Label anzeigen AWT, Swing, JavaFX & SWT 14
J CheckComboBox : Ausgewählte Items NICHT im Header anzeigen AWT, Swing, JavaFX & SWT 4
ralfb1105 Swing Dynamischer Graph zum anzeigen Perfomance Daten AWT, Swing, JavaFX & SWT 35
D MySQL Daten in JTable anzeigen AWT, Swing, JavaFX & SWT 2
I Bild über FXML (ImageView, Image) anzeigen AWT, Swing, JavaFX & SWT 1
K Event Handling Über JMenuBar die diversen Panels anzeigen AWT, Swing, JavaFX & SWT 10
G JComboBox: Arrow-Button permanent anzeigen AWT, Swing, JavaFX & SWT 4
L JavaFX Animation, erst zeichnen dann anzeigen AWT, Swing, JavaFX & SWT 4
J CheckComboBox selected Items nicht anzeigen AWT, Swing, JavaFX & SWT 6
L Suchergebnisse variabel mit Button anzeigen lassen AWT, Swing, JavaFX & SWT 3
M JavaFX Ein Labeltext eine zeitlang anzeigen dann weiter machen AWT, Swing, JavaFX & SWT 3
R Swing Verändern der Ausrichtung JButton und neu anzeigen AWT, Swing, JavaFX & SWT 2
J Slider Wert anzeigen AWT, Swing, JavaFX & SWT 15
D MySQL-Tabellen in GUI anzeigen AWT, Swing, JavaFX & SWT 8
Meeresgott AWT JFileChooser bestimmte Ordner anzeigen AWT, Swing, JavaFX & SWT 16
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
M PDF einlesen und innerhalb Pane anzeigen AWT, Swing, JavaFX & SWT 5
S Zwei JTree, ein Model, bei Selection im ersten JTree soll der zweite die Inhlate anzeigen AWT, Swing, JavaFX & SWT 2
M JavaFX StackedBarChart y-Axis soll nur Integerwerte anzeigen AWT, Swing, JavaFX & SWT 1
MiMa PDF in Java FX anzeigen AWT, Swing, JavaFX & SWT 21
T JLabel Textinhalt von Oben anzeigen AWT, Swing, JavaFX & SWT 1
Sugan Java FX Verzeichnisüberwachung -> Bilder auf GUI anzeigen AWT, Swing, JavaFX & SWT 4
Cromewell JavaFX Nur bestimmten Teil eines Canvas rendern und anzeigen AWT, Swing, JavaFX & SWT 2
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
M Gui-Form alle Labels anzeigen AWT, Swing, JavaFX & SWT 4
J Swing Zeichenfläche im JPanel des Haupfenster anzeigen lassen AWT, Swing, JavaFX & SWT 4
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
beatles Swing JTextField - Game Status aus Array anzeigen AWT, Swing, JavaFX & SWT 3
M Java FX Immer aktuelle Mausposition anzeigen AWT, Swing, JavaFX & SWT 6
J Eigene Klasse auf Basis Textfield in SceneBuilder anzeigen AWT, Swing, JavaFX & SWT 4
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
JavaMachtMichFertig JavaFX Gui - Löschbutton in Tabelle anzeigen, die mittels MySQL Abfrage gefüllt wird AWT, Swing, JavaFX & SWT 5
stylegangsta JButton Transparent anzeigen AWT, Swing, JavaFX & SWT 9
F JavaFX JavaFX HTMLEditor-Eingabe in Textarea als HTML anzeigen AWT, Swing, JavaFX & SWT 2
V JFreeChart: Tooltip auf Knopfdruck anzeigen AWT, Swing, JavaFX & SWT 2
K Swing JScrollPane - JScrollBar anzeigen, wenn Frame verkleinert wird AWT, Swing, JavaFX & SWT 3
D Swing Idealgewicht anzeigen per Radiobuttonaktivierung AWT, Swing, JavaFX & SWT 8
J JavaFX Tooltip Verzögerung beim ersten Anzeigen AWT, Swing, JavaFX & SWT 4
D JButton - Nur Icon anzeigen / transparenter Hintergrund AWT, Swing, JavaFX & SWT 2
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
B Swing JXMapKit Mausemove in Label anzeigen AWT, Swing, JavaFX & SWT 0
J JavaFX TextArea dynamisch Icon im Background anzeigen AWT, Swing, JavaFX & SWT 2
D Swing Erstes Item einer JCombobox in JTable anzeigen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben