Brauche Hilfe bei Bildprogramm

ilovehouSe

Grünschnabel
Hi Leute,
ich habe die Aufgabe ein Programm zu schreiben (das ganze geht wie die Überschrift schon sagt in Richtung "Bilder verwalten") und komme an einigen Stellen nun nicht wirklich weiter. Hat jemand Zeit und Lust mir dabei zu helfen? Wäre echt nett ;)
MfG ilovehouSe
 
Hallo ilovehouSe,

ich komme mal bei dir am Wochende vorbei, wir machen das gemeinsam wenn du wünschst :p . Nein, das war natürlich Spaß!

Du musst schon konkret was Fragen, damit dir geholfen werden kann, besser mit eigenem Ansatz und vorzugsweise mit Codebeispiel.


Vg Erdal
 
Naja bei mir und meinen Java-Kenntnissen haperts so sehr das das ne ganze Flut an Fragen wird, aber nun gut ;). Ich habe mehr Probleme mit spezifischen Java-Eigenheiten als mit der hinter dem Programm stehenden Logik, und da mein Englisch nicht so wirklich API tauglich ist gehts damit auch nicht weiter :p

Wie realisiert man in Java eine Anzahl von Buttons mit Laufindex und ist das nur mit festgelegter Anzahl möglich oder auch dynamisch?
 
Du kannst Instanzen von Buttonobjekten in einem Array speichern oder in einer dynamischen Datenstruktur, wie einer ArrayListe oder einem Vector bspw. .. Ein JButton Array mit 10 Elementen würde bspw. so aussehen:

JButton[] buttons = new JButton[10];

buttons[0] = new JButton("Button 1");

So ungefähr jedenfalls ..

Gruß Stefan
 
danke, hab das Problem nun gelöst doch taucht gleich das nächste auf ;(

ich habe eine globale ArrayList namens "thumbnails" in den ich mit folgender Methode alle Bilder eines Verzeichnisses ablege
Code:
    public int countPicture(File directory)
    {
        int count = 0;
        String[] dir = directory.list();
        //Inhalt des Verzeichnis überprüfen
        if (dir != null) 
        {
            //Auflisten der Dateien des ausgewählten Verzeichnisses
            File[] file = directory.listFiles();
            for (int i = 0; i < file.length ; i++) {
                //File Extension überprüfen (Einschränkung auf "Bildformate")
                if ((file[i].getName().toLowerCase().endsWith(".jpg")) || 
                    (file[i].getName().toLowerCase().endsWith(".gif")) || 
                    (file[i].getName().toLowerCase().endsWith(".png")) ) {
                        
                    count++;
                    thumbnails.add(file[i]);
                }
            }
        }
        else
        {
            System.out.println("Verzeichnis leer");
        }
        return count;
    }

Nun möchte ich diesen ArrayList-Inhalt an entsprechender Stelle auslesen, was ich mit
Code:
thumb = thumbnails.get(i);
versuche. Da ich im folgenden
Code:
image = ImageIO.read(thumb);
ausrufe meckert der Compiler allerdings da thumb vom Typ Object und nicht vom Typ File ist. Wie behebe ich das Problem?
 
Entweder du deklarierst die Variable thumb schon als File:
Java:
File thumb = ( File )thumbnails.get(i);
oder du castest das erst danach
Java:
image = ImageIO.read( File )thumb );

Gruß
Tobias
 
danke schonmal, aber nun hänge ich beim nächsten Problem ;)

Ich habe nun folgenden Code nur leider funktioniert das so nicht:
Code:
JButton[] Preview = new JButton[anzahl];
for (int i = 0; i < anzahl ; i++) {
  File thumb = (File)thumbnails.get(i);
  Image image = ImageIO.read(thumb);
  Preview[i] = new JButton();
  ...
  Preview[i].addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) { 
      System.out.println("Button Nr. "+ i + " wurde gedrueckt.");
    }
  });
}

Wo liegt da das Problem?
 
Du weist allen Buttons genau den selben ActionListener zu. Mit JButton.setActionCommand() kannst du jedem Button einen spezifischen Command zuweisen.
 
Zurück