tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
371
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von killerkirsche
    killerkirsche killerkirsche ist offline Mitglied Gold
    Registriert seit
    Jan 2008
    Beiträge
    168
    Hallo zusammen,

    ich arbeite gerade an einem kleinem Projekt, dass mir helfen soll id3-tags umzugestalten. Ich weiß es gibt schon solche programme, trotzdem mach ichs am liebsten selber.

    Problem ist folgendes:
    Wenn ich eine JList mit icons und Text fülle ( per eigenem Renderer) dann wird das auch zuerst richtig dargestellt.
    Doch sobald ich die fenstergröße anpasse, oder Listen-Elemente auswähle sind die icons weg.

    Hier der Renderer
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    
    package jmp3master.browser;
     
    import java.awt.Color;
    import java.awt.Component;
    import java.io.File;
    import java.net.URL;
     
    import javax.swing.DefaultListCellRenderer;
    import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    import javax.swing.JList;
     
    public class BrowserListRenderer extends DefaultListCellRenderer {
     
        private static final long serialVersionUID = 8525635804568827701L;
        
        ImageIcon iDir = new ImageIcon();                       //Dieses Icon sollte so aussehen wie ein Ordner
        
        /**
         * This is a special ListCellRenderer only for the BrowserListRenderer
         */
        public BrowserListRenderer(ImageIcon iInDir){
            try{
                URL urlDir = this.getClass().getResource("../../folder.gif");
                iDir = new ImageIcon(urlDir);
                File f = new File(urlDir.toURI());
                if(f.exists()){
                    System.out.println("True");
                }
                
            }
            catch(Exception e){
                
            }       
        }
        
        @Override
        public Component getListCellRendererComponent(JList jlList, Object oValue, int nRow, boolean bIsSelected, boolean bHasFocus) {
            
            System.out.println(oValue.toString());    //Ein bisschen Debugging
            
            JLabel   jlReturn    = (JLabel) super.getListCellRendererComponent(jlList, oValue, nRow, bIsSelected, bHasFocus);      //Das Rückgabe-JLabel
                     jlReturn.setOpaque(true);
            String   strInput    = oValue.toString(); //Der gegebene Wert
            //Der Input ist so aufgebaut, dass die ersten 4 Buchstaben der Datei-Endung entsprechen.
            //Deshalb müssen wir den String nun teilen
            String   strExtension  =  strInput.substring(0,4);
            String   strName       =  strInput.substring(4);
            
            //Nun müssen wie noch das richtige Icon Finden
            if(strExtension.toUpperCase().equals("DIR ")){          
                jlReturn.setIcon(iDir);
                jlReturn.prepareImage(iDir.getImage(), jlReturn);
            }
            //Und danach den Text einfügen
            jlReturn.setText(strName);
            
            if(bIsSelected){
                jlReturn.setBackground(Color.BLACK);
            }
            else{
                jlReturn.setForeground(Color.BLUE);
            }
            if(bHasFocus){
                jlReturn.setForeground(Color.PINK);
            }       
            
            return jlReturn;
        }
    }

    ICh hoffe, die Notation stört nicht.

    Die elemente werden per DefaultListModel in die Liste eingefügt.
     
    die ärzte | Wizo | Patti Smith
    Wer die nich kennt der verpasst was

  2. #2
    Avatar von killerkirsche
    killerkirsche killerkirsche ist offline Mitglied Gold
    Registriert seit
    Jan 2008
    Beiträge
    168
    Neue Info:
    Benutze ich anstelle eines Eigenen Icons, Eins aus der MetalIconFactory klappts

    Aber warum nicht mit meinen?
    Geändert von killerkirsche (18.09.09 um 12:45 Uhr)
     
    die ärzte | Wizo | Patti Smith
    Wer die nich kennt der verpasst was

Ähnliche Themen

  1. Formular läst sich nicht abschicken
    Von AZUBI09 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 25.09.09, 20:18
  2. notebook läst sich nur bis zu einer gewissen Prozentzahl bootn
    Von TravelMate292 im Forum Microsoft Windows
    Antworten: 3
    Letzter Beitrag: 23.07.08, 19:16
  3. mambo läst mich nicht mehr in den Backend
    Von Daviot im Forum Content Management Systeme (CMS)
    Antworten: 0
    Letzter Beitrag: 13.06.06, 08:33
  4. Exel Makro läst keine Hyperlinks zu
    Von ziriander im Forum Office-Anwendungen
    Antworten: 0
    Letzter Beitrag: 06.09.05, 12:23
  5. Antworten: 2
    Letzter Beitrag: 03.08.03, 00:05

Stichworte