Avatar billede jesperbaldur Nybegynder
27. august 2003 - 15:55 Der er 13 kommentarer og
1 løsning

Indsætte billeder

Jeg skal lave et program som skal vise x antal billder fra en mappe. Problemet (hvis der er noget :-)  er at jeg ikke kender antallet af billeder i mappen. hvad gør jeg?
Avatar billede jesperbaldur Nybegynder
27. august 2003 - 15:55 #1
billder = billeder
Avatar billede _carsten Nybegynder
27. august 2003 - 16:02 #2
Se Arne's svar på spørgsmål:  http://www.eksperten.dk/spm/392641
Avatar billede _carsten Nybegynder
27. august 2003 - 16:06 #3
Det var hurtige at henvise, end selv at skrive det

I arrayet 'dirlist' har du indholdet af mappen "C:\JAVA"
Avatar billede jesperbaldur Nybegynder
27. august 2003 - 16:45 #4
jeg skal ikke bruge filerne i undermapperne til den mappe jeg kalder med. Med følgende kode finde jeg fil og mappe-navne i fx "c:\java". Mit problem er bare at den medtager mappenavne....:

    public static void Jesper(String k)
    {
      File dir = new File(k);
      String[] filer = dir.list();
    for(int i =0;i<filer.length;i++)
    {
        System.out.println(filer[i]);
    }
    }
Avatar billede jesperbaldur Nybegynder
27. august 2003 - 16:46 #5
Har fundet en egenskab der hedder isDirectory() men kan ikke få det til at virke :-(
Avatar billede _carsten Nybegynder
27. august 2003 - 16:51 #6
Du kan bruge den til at fjerne et directory fra listen

Skal til fodbold - løber!
Avatar billede _carsten Nybegynder
27. august 2003 - 21:16 #7
Så er jeg tilbage igen, følgende klasse returnerer kun filnavn og type
i den angivne mappe.

import java.io.*;

public class ListFiles implements FilenameFilter{
    private String path = "c:\\java\\";
    private String extension = ".java";
   
    public ListFiles() {
        File f = new File(path);
        String[] s = f.list(this);
       
        for(int i = 0; i < s.length;i++)
          System.out.println(s[i]);
    }
   
    public boolean accept(java.io.File dir, String name) {
        if(name.endsWith( extension ))
            return true;
        else
            return false;
    }
   
    public static void main(String[] args) {
        new ListFiles();
    }
}
Avatar billede _carsten Nybegynder
27. august 2003 - 21:18 #8
Altså den filtype du ønsker - *.gif  *.jpeg  *.java

Det vælger du selv.
Avatar billede jesperbaldur Nybegynder
28. august 2003 - 09:48 #9
Super...men jeg har lige et problem til. Er der en smart måde hvorpå man kan håndtere en større mængde billeder når de skal vises? Jeg havde tænkt mig at vise dem med 5 billeder i hver række .... men hvordan? (er forholdsvis ny i java)
Avatar billede _carsten Nybegynder
28. august 2003 - 10:03 #10
Hvordan skal billederne vises ?

I et JPanel, Jlabel eller andet ??
Avatar billede jesperbaldur Nybegynder
28. august 2003 - 12:56 #11
Havde tænkt mig at placere et imageicon på en jlabel (det er den eneste mulighed jeg kender :-) Og så placere disse på et JPanel.
Avatar billede jesperbaldur Nybegynder
28. august 2003 - 12:56 #12
men hvordan jeg skal gribe det an ved jeg ikke
Avatar billede _carsten Nybegynder
28. august 2003 - 19:50 #13
Så lad os tage udgangspunkt i det, og tilrette førnævnte klasse
til noget a la nedenstående.


import java.io.*;
import javax.swing.*;

public class ListFiles extends JFrame implements FilenameFilter{
    private String path = "c:\\java\\";
    private String extension = ".java";
    private JLabel[] label;
   
    public ListFiles() {
        setLayout(new FlowLayout());

        File f = new File(path);
        String[] s = f.list(this);
       
        label = new JLabel[s.length];

        for(int i = 0; i < s.length;i++){
          label[i] = new JLabel();
          label[i].setIcon(new ImageIcon( s[i] ));
          getContentPane().add(label[i]);
        }
       
        setExtendedState(MAXIMIZED_BOTH);
        show();
    }
   
    public boolean accept(java.io.File dir, String name) {
        if(name.endsWith( extension ))
            return true;
        else
            return false;
    }
   
    public static void main(String[] args) {
        new ListFiles();
    }
}
Avatar billede jesperbaldur Nybegynder
29. august 2003 - 13:41 #14
Det virker. Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester