G
Guest
Gast
Hallo Zusammen,
ich möchte gerne einen Bildbrowser programmieren. Das Forum hier hat mir schon sehr gut geholfen, aber jetzt stehe ich an.
Also, ich lese alle Ordner von meinem Stammverzeichnis aus, liste diese in einer LIST und mit dem listener rufe ich die Funktion AusImage auf und übergebe den gewählten Ordner als STRING. In dieser Funktion lese ich alle JPG dateien aus, funktioniert alles prächtig.
Nun möchte ich diese JPG datein auf JButtons ausgeben, jedoch funktioniert es nicht, es wird nichts angezeigt,
hier mein CODE
Danke im Voraus.
Wenn mir jemand eine bessere Lösung für die Auflistung der Bilder
Mfg
MHOLZI
ich möchte gerne einen Bildbrowser programmieren. Das Forum hier hat mir schon sehr gut geholfen, aber jetzt stehe ich an.
Also, ich lese alle Ordner von meinem Stammverzeichnis aus, liste diese in einer LIST und mit dem listener rufe ich die Funktion AusImage auf und übergebe den gewählten Ordner als STRING. In dieser Funktion lese ich alle JPG dateien aus, funktioniert alles prächtig.
Nun möchte ich diese JPG datein auf JButtons ausgeben, jedoch funktioniert es nicht, es wird nichts angezeigt,
hier mein CODE
Code:
package v10;
import javax.swing.*;
import java.awt.*;
import java.awt.Image.*;
import java.io.File;
import java.io.*;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
class JPGFilter implements FilenameFilter
{
public boolean accept( File f, String s )
{
return s.toLowerCase().endsWith( ".jpg" );
}
}
public class bilderbrowser extends JFrame {
JPanel rechts=new JPanel();
public bilderbrowser() {
super("Mein Programm");
Container contents = getContentPane();
setDefaultCloseOperation( EXIT_ON_CLOSE);
JPanel rechts=new JPanel();
JPanel links=new JPanel();
JPanel gesamt=new JPanel();
gesamt.setLayout(new BorderLayout());
gesamt.add(links, java.awt.BorderLayout.WEST);
gesamt.add(rechts, java.awt.BorderLayout.EAST);
contents.add(gesamt);
links.setLayout(new BorderLayout());
List list1 = new List();
links.add(list1, java.awt.BorderLayout.WEST);
rechts.setLayout(new GridLayout());
// Ordner auslesen und der List hinzufügen ---------------
File entries = new File("C:/jbuilder/v6");
String[] dirs = entries.list();
for (int i=0; i<dirs.length; i++){
File check = new File(dirs[i]);
if (check.isDirectory()){
list1.add(dirs[i]);
}
}
// Listener für List1 ------------------------------
list1.addItemListener( new ItemListener() {
public void itemStateChanged( ItemEvent e ) {
List selectedChoice = (List)e.getSource();
String SelectedVerzeichnis = selectedChoice.getSelectedItem();
AusImage(SelectedVerzeichnis);
}
});
}
public void AusImage(String s){
String pfad = System.getProperty("user.dir")+"/"+s;
File entries = new File(pfad);
String[] dirs = entries.list(new JPGFilter());
for (int i=0; i<dirs.length; i++){
String picpfad = new String(pfad+"/"+dirs[i]);
Image image = new ImageIcon(picpfad).getImage();
Image scaled2 = image.getScaledInstance(175,250, Image.SCALE_SMOOTH);
JButton bt = new JButton();
bt.setIcon(new ImageIcon(scaled2));
rechts.add(bt);
System.out.println("aufruf erfolg");
}
}
public static void main(String[] args) {
bilderbrowser g = new bilderbrowser();
g.setSize(800 , 400);
g.show();
}
}
Danke im Voraus.
Wenn mir jemand eine bessere Lösung für die Auflistung der Bilder
Mfg
MHOLZI
Code: