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:
Schonmal danke an alle, die sich die Mühe machen!
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!