tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
1452
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Benzol Benzol ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    326
    Moin,
    ich bin der Meinung, ich hätte etwas gelesen, das ich ein ImageIcon manuell neuladen muss, dammit etwaige Änderungen angezeigt werden. Ich kann diese Stelle nirgents mehr finden :/
    Kann mir einer einen Hinweis geben?
     

  2. #2
    elmato elmato ist offline Mitglied Brokat
    Registriert seit
    May 2005
    Ort
    NRW
    Beiträge
    408
    Also das wäre mir neu, ein repaint sollte hier genügen..
    mfg elmato
     

  3. #3
    Benzol Benzol ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    326
    Das hilft iregntwie nicht. Ich habe erstelle jetzt jedesmal ein Vorschaubild mit einem eigenen Dateiname und lösche das Alte... jetzt zeigt ers richtig an.
     

  4. #4
    elmato elmato ist offline Mitglied Brokat
    Registriert seit
    May 2005
    Ort
    NRW
    Beiträge
    408
    Klingt sehr umständlich und Rechenintensiv, was versuchst du den zu machen bzw. was veränderst du den an dem Bild?
     

  5. #5
    Benzol Benzol ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    326
    Es wird für jedes Bild, das ich hochlade, ein Vorschaubild erstellt was z.B. thumb.jpg heißen soll. Das Bild liegt in dem Temporären Verzeichniss des Benutzers. Von da wird dann das Icon erstellt. Wenn ich das Bild nur überschreibe und ein neues Icon erstelle, bleibt das alte Bild sozuisagen erhalten. ich schätzte, das er das dann aus dem Cache rausnimmt.
     

  6. #6
    y0g1 y0g1 ist offline Grünschnabel
    Registriert seit
    May 2006
    Beiträge
    3
    Kann keiner helfen? Für einen Hinweis wäre ich auch sehr dankbar.
     

  7. #7
    flashray flashray ist offline Mitglied Rubin
    Registriert seit
    Sep 2005
    Ort
    Mannheim
    Beiträge
    1.325
    Hallo,

    Für das "ImageIcon neuladen" braucht man lediglich das Bild neu einzulesen (getImage()) und neuzuzeichen (repaint()).

    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
    
    import java.awt.BorderLayout;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.*;
     
    public class IconRefreshExample extends JFrame implements ActionListener {
     
        private Toolkit tk = Toolkit.getDefaultToolkit();
     
        private JLabel l = new JLabel(new ImageIcon("b1.jpg"));
     
        private JButton b = new JButton("Refresh");
     
        public IconRefreshExample() {
            super("Example");
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setAlwaysOnTop(true);
            this.setLocationByPlatform(true);
     
            this.add(l, BorderLayout.CENTER);
            this.add(b, BorderLayout.SOUTH);
     
            b.addActionListener(this);
     
            this.pack();
            this.setVisible(true);
        }
     
        public static void main(String[] args) {
            new IconRefreshExample();
        }
     
        public void actionPerformed(ActionEvent e) {
            ((ImageIcon) l.getIcon()).getImage().flush();
            ((ImageIcon) l.getIcon()).setImage(tk.getImage("b1.jpg"));
            l.repaint();
        }
    }

    Vg Erdal
    Geändert von flashray (20.05.06 um 17:07 Uhr)
     

  8. #8
    y0g1 y0g1 ist offline Grünschnabel
    Registriert seit
    May 2006
    Beiträge
    3
    Danke für deine Antwort Erdal!

    Leider ist es nicht das was ich suche. Denn wenn ich das Bild verändere bzw. überschreibe, zeigt mir dein Programm immer noch das alte Bild an.
     

  9. #9
    flashray flashray ist offline Mitglied Rubin
    Registriert seit
    Sep 2005
    Ort
    Mannheim
    Beiträge
    1.325
    Hallo y0g1,

    hab dem obigen Code noch eine Zeile (flush()) hinzugefügt. Jetzt klappt es!


    Vg Erdal
     

  10. #10
    y0g1 y0g1 ist offline Grünschnabel
    Registriert seit
    May 2006
    Beiträge
    3
    SUPER! Danke vielmals!

    Gruss

    David
     

Ähnliche Themen

  1. ImageIcon
    Von primo11 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 19.12.07, 13:06
  2. ImageIcon ersetzten
    Von Don Ecker im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 14.09.07, 22:56
  3. ImageIcon
    Von tha_specializt im Forum Java
    Antworten: 2
    Letzter Beitrag: 18.08.07, 19:47
  4. ImageIcon fehler ?
    Von knopper im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 28.02.05, 16:36
  5. ImageIcon finden
    Von yidaki im Forum Java
    Antworten: 1
    Letzter Beitrag: 10.11.04, 16:16