Ladebalken anzeigen während Bilder geladen werden

J

JavaNoob334455

Gast
Hallo wie der Titel schon sagt, suche ich nach einer möglichst einfach zu implementierenden Option, mit der für die Zeit, in der meine Bilder in ein Panel geladen werden (atm ca 250), ein Ladebalken gezeigt wird, der den Fortschritt des Bilderladens anzeigt!

Ich konnte zwar im internet ein paar Sachen finden, war aber bis jetzt leider erfolglos mit meinen Versuchen das umzusetzen :(

Eventuell kann mir hier jemand helfen?

Hier mal der relevante Code der Klasse, die die Bilder lädt:
Java:
public void InitComponents() throws IOException{

        JLabel b = new JLabel(new ImageIcon(getClass().getResource("Editionen/" + Edition + ".png")));
        add(b, BorderLayout.NORTH);
                
        GridLayout GL = new GridLayout(0,3);    // 0 , 3
        JPanel panel = new JPanel();
        panel.setLayout(GL); 
        panel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        
        JScrollPane SP = new JScrollPane(panel);
        SP.setViewportView(panel);  
        add(SP,BorderLayout.CENTER);
        
        String decodedPath = URLDecoder.decode(getClass().getResource(Edition + ".zip").getPath(), "UTF-8");    // use decoder to decode Path to String
        ZipFile zf = new ZipFile(decodedPath);  // undecoded String would cause problems because of special signs in the names of folders
                 
        for (Enumeration<? extends ZipEntry> e = zf.entries(); e.hasMoreElements();) {
            
            ZipEntry ze = e.nextElement();            
            if (ze.isDirectory()) {continue;}
            
            BufferedInputStream inputStream = new BufferedInputStream(zf.getInputStream(zf.getEntry(ze.getName())));
            BufferedImage BI = GetOneImageFromZip(inputStream);
            Icon ico = new ImageIcon(ConvertToImage(BI));
            Card OneCard = new Card("Card", null, ico);
            OneCard.addActionListener(new HandlerClass());
            panel.add(OneCard);
            inputStream.close();
        }       
    }
    
    public BufferedImage GetOneImageFromZip(BufferedInputStream Stream) throws IOException{       
        return ImageIO.read(Stream);
    }
    
    public static Image ConvertToImage(BufferedImage bufferedImage) {
        return Toolkit.getDefaultToolkit().createImage(bufferedImage.getSource());
    }

Schonmal danke an alle, die sich die Mühe machen!
 
T

Tomate_Salat

Gast
Und dein Problem genau liegt wo (abgesehen von den Konventionsbrüchen* und nicht sprechenden benamungen)?

Bitte nicht mit "geht nicht"/"alles" antworten ;-). Zeig uns was du probiert hast und wir sagen dir, wo der Fehler war/was du machen musst, damit es läuft.



* Methodennamen und Variablen/Felder werden lowerCamelCase geschrieben.
 
J

JavaNoob334455

Gast
Wollte was in der Richtung versuchen objekt vor der Schleife oder vor dem erstellen des panels undso erstellen und dann setVisible(false) wenn Schleife aus ist. Leider ist es atm so, dass gar nichts davon funktioniert...LoadingWindow nicht sichtbar...

ehrlich gesagt ist mir bei diesem Codebeispiel, das ich hier in diesem Forum finden konnte, noch nicht so recht klar, welchen Zweck size und Progress hier erfüllen! Dazu kommt dass dieses Beispiel (glaube ich zumindest) auf Downloading gemünzt ist...

Ein BeispielCode für die Anwendung des ProgressMonitors für das Laden von Bildern aus einem Zip-Archiv wäre hilfreich!


Java:
package mtg;

import javax.swing.ProgressMonitor;
import javax.swing.SwingUtilities;

  class LoadingWindow{

    double size = 40000;
    int progress = 0;
 
    public LoadingWindow() {
        final ProgressMonitor pm = new ProgressMonitor(null,"Loading Pictures...", "", 0, (int) size / 1024);
        pm.setMillisToDecideToPopup(0);
        pm.setMillisToPopup(0);
 
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
 
                while (!pm.isCanceled() && progress <= pm.getMaximum()) {
 
                    SwingUtilities.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            pm.setProgress(progress);
                            pm.setNote(progress + " kb of " + size / 1024 + " done");
                        }
                    });
 
                    try {
                        Thread.sleep(200);
                    } catch (Exception ex) {
                    }
 
                    progress++;
                }
            }
        });
        thread.start();
    }
   
  }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G "Ladebalken" erstellen - Übung Java Basics - Anfänger-Themen 3
R Erste Schritte Frame mit Ladebalken und BestätigungsButton Java Basics - Anfänger-Themen 10
F Ladebalken beim Programmstart Java Basics - Anfänger-Themen 11
J Ladebalken Java Basics - Anfänger-Themen 2
S Ladebalken Java Basics - Anfänger-Themen 2
M Anzahl Schleifendurchgänge nach x Sekunden anzeigen Java Basics - Anfänger-Themen 2
M Rekursives Programm zum Anzeigen von Primzahlen Java Basics - Anfänger-Themen 3
M Auf MainJFrame Panels anzeigen lassen Java Basics - Anfänger-Themen 19
R Combobox-Werte in GUI anzeigen Java Basics - Anfänger-Themen 13
J Die größte Zahl anzeigen Java Basics - Anfänger-Themen 19
V_Fynn03 Kontostand anzeigen lassen von einer anderen Klasse Java Basics - Anfänger-Themen 3
C Erste Schritte Bilder nach Export anzeigen Java Basics - Anfänger-Themen 0
O Popoup Menü im JTable richtig anzeigen Java Basics - Anfänger-Themen 6
J Einen Buttonklick in Label anzeigen Java Basics - Anfänger-Themen 6
M jTextPane Bild anzeigen Java Basics - Anfänger-Themen 6
A ArrayList - size() nur nach bestimmtem index anzeigen lassen Java Basics - Anfänger-Themen 13
E JAvaFX: Verschiedene Panels nach Klick auf Node des TreeView anzeigen Java Basics - Anfänger-Themen 0
S ArrayListe in einer JComboBox anzeigen Java Basics - Anfänger-Themen 10
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
M Vererbung Ein JLabel einer Elternklasse anzeigen Java Basics - Anfänger-Themen 8
A Jdialog nur 1x anzeigen Java Basics - Anfänger-Themen 2
J Wie kann ich Images per Tastendruck anzeigen/einfügen? Java Basics - Anfänger-Themen 3
T Positionen anzeigen Java Basics - Anfänger-Themen 6
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
N Datei einlesen und grafisch anzeigen Java Basics - Anfänger-Themen 31
L Verschiedene Bilder per Knopfdruck anzeigen lassen Java Basics - Anfänger-Themen 17
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
binop Bild anzeigen lassen Java Basics - Anfänger-Themen 2
W Erste Schritte Zweidimensionales Array - Gerade Zahlen anzeigen lassen Java Basics - Anfänger-Themen 3
S eingegebene Matrix anzeigen Java Basics - Anfänger-Themen 4
T Kamerabild anzeigen Java Basics - Anfänger-Themen 1
J JPG in JFrame anzeigen lassen Java Basics - Anfänger-Themen 3
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2
I A0-Format in jpanel anzeigen Java Basics - Anfänger-Themen 1
A Link in der Eingabeleiste nichr anzeigen Java Basics - Anfänger-Themen 1
C Methoden aus Klassen anzeigen lassen Java Basics - Anfänger-Themen 14
T Output in CMD anzeigen lassen? Java Basics - Anfänger-Themen 1
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
L Videos in Java anzeigen lassen Java Basics - Anfänger-Themen 10
M Wert aus String Feld anzeigen Java Basics - Anfänger-Themen 7
C JComboBox "Hilfstext" anzeigen Java Basics - Anfänger-Themen 11
C Html in einem JEditorPane anzeigen Java Basics - Anfänger-Themen 2
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
W Frame in anderer Klasse anzeigen lassen Java Basics - Anfänger-Themen 1
D Externe Eeite beim Mousover anzeigen Java Basics - Anfänger-Themen 0
M JSP-Einfaches Bild anzeigen Java Basics - Anfänger-Themen 4
L Über 100e Werte anzeigen Java GUI Java Basics - Anfänger-Themen 1
R File chooser Dateien in frame anzeigen lassen Java Basics - Anfänger-Themen 5
T JLabel anzeigen lassen... Java Basics - Anfänger-Themen 6
H Erste Schritte Uhrzeit anzeigen in Minuten Dezimal Java Basics - Anfänger-Themen 8
A Datum zwischen zwei Daten berechnen und in Tagen anzeigen Java Basics - Anfänger-Themen 4
B Variable im Fenster anzeigen lassen? Java Basics - Anfänger-Themen 2
L bestimmten Frame anzeigen lassen? Java Basics - Anfänger-Themen 6
P JTabel größe ändern und button anzeigen Java Basics - Anfänger-Themen 5
D Dialoge anzeigen Java Basics - Anfänger-Themen 9
M Icon laden und anzeigen Java Basics - Anfänger-Themen 2
M Auslesen - Anzeigen - Schreiben Java Basics - Anfänger-Themen 13
K wie Datum in JTable anders anzeigen lassen Java Basics - Anfänger-Themen 2
X Methode in JTextArea anzeigen lassen Java Basics - Anfänger-Themen 18
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
M Website anzeigen Java Basics - Anfänger-Themen 4
P Erste Schritte Image anzeigen in ausführbarer jar mit der Toolkit class Java Basics - Anfänger-Themen 8
C Button - neues Fenster - Bestellung anzeigen Java Basics - Anfänger-Themen 10
H Java Server/Client, HTML Seite anzeigen Java Basics - Anfänger-Themen 2
B JFrame - Namen anzeigen Java Basics - Anfänger-Themen 2
M Array von Personen anzeigen Java Basics - Anfänger-Themen 3
J Panel + Label anzeigen - Ich kriege es nicht hin Java Basics - Anfänger-Themen 3
G JList Objekte richtig anzeigen in JDK 6 Java Basics - Anfänger-Themen 5
G Bilder in Jar anzeigen lassen Java Basics - Anfänger-Themen 23
B jar Inhalt anzeigen Java Basics - Anfänger-Themen 5
M GUI JList - Objekte listen u. Feld anzeigen? Java Basics - Anfänger-Themen 16
M Componenten auf JPanel anzeigen Java Basics - Anfänger-Themen 2
L Fehlermeldung bei falscher Berechnung anzeigen Java Basics - Anfänger-Themen 31
N RegEx Wort anzeigen Java Basics - Anfänger-Themen 6
J JPG in einem Label einfügen und anzeigen lassen Java Basics - Anfänger-Themen 2
C JSlider und JRadioButton auf Label anzeigen? Java Basics - Anfänger-Themen 10
Y MenuBar in Application anzeigen Java Basics - Anfänger-Themen 7
B Alle Benutzer anzeigen Java Basics - Anfänger-Themen 17
B Applet anzeigen Java Basics - Anfänger-Themen 9
N Verschiedene JFrames in einem JFrame anzeigen Java Basics - Anfänger-Themen 7
A JPEG anzeigen Java Basics - Anfänger-Themen 3
L Webseiten anzeigen Java Basics - Anfänger-Themen 4
P OOP Statisitik anzeigen Java Basics - Anfänger-Themen 9
Zettelkasten Applet anzeigen ? Java Basics - Anfänger-Themen 5
T Vector-Positin anzeigen Java Basics - Anfänger-Themen 3
C Zellen in einer JTable nicht anzeigen lassen Java Basics - Anfänger-Themen 3
I JFrame anzeigen Java Basics - Anfänger-Themen 9
M JTree ohne root anzeigen Java Basics - Anfänger-Themen 5
M Aus CSV-Datei lesen und anzeigen (bitte schnell um Antwort) Java Basics - Anfänger-Themen 6
G Inhalt Jar-Files anzeigen, incl. Methoden Java Basics - Anfänger-Themen 2
I Liste von Dateien anzeigen/JTree Java Basics - Anfänger-Themen 4
S Toggle Button Array zum anzeigen auf GUI Java Basics - Anfänger-Themen 17
StrikeTom Quelltext einer Internetseite auf JTextArea anzeigen Java Basics - Anfänger-Themen 4
F.A Development In Projekt vorhandenes 2. Fenster anzeigen Java Basics - Anfänger-Themen 19
B Textlänge anzeigen Java Basics - Anfänger-Themen 10
J Tabelle in Fenster anzeigen Java Basics - Anfänger-Themen 12
A Halb gefüllten Array anzeigen lassen Java Basics - Anfänger-Themen 7
aze NullpointerException :Null Referenz anzeigen lassen Java Basics - Anfänger-Themen 2
F Namensliste tabellarisch anzeigen lassen Java Basics - Anfänger-Themen 9
Semox Fehler in Eclipse vor Start eines Applets anzeigen? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben