Java- Bild gewissen Anzahl von Sekunden anzeigen?!

michellehks

Mitglied
Hallo,
ich habe eine Frage bezüglich Java. Und zwar brauch ich ein kleines Programm für meine Bachelorarbeit, welches mir ein Bild zB. 50ms/500ms... anzeigen soll und dann wieder schwarz wird bzw. das zuvor eingeblendete Bild einfach verschwinden lässt. Leider finde ich weder bei rheinwerk-verlag.de noch bei Google oder Youtube etwas dazu. Timer oder TimerTask sind leider das Einzige, womit ich allerdings nicht weiterkomme.
Den Code für das Anzeigen des Bildes habe ich bereits geschrieben:

Java:
package Bildeinfügen;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class bild extends JFrame{
  
   public bild(){
       super("Was nehmen Sie wahr?");
       setDefaultCloseOperation(EXIT_ON_CLOSE);
       getContentPane().add(new JLabel(new ImageIcon("bild1.jpeg")));
       pack();
       setVisible(true);
   }
  
   public static void main(String[] args) {
       new bild();
   }
}

Dieser funktioniert auch. Aber wie integriere ich nun den Timer bzw. die Dauer, in der das Bild angezeigt wird.

Vielen Dank & lg.
 
Vielen danke für die Seite und natürlich deine Antwort. Allerdings werde ich daraus auch nicht ganz schlau. Wo soll ich denn deinen Code in meinen integrieren? Egal wo ich ihn wie anlege und was ich hinzufüge er bleibt rot.. (leider bin ich wirklich kein Programmier-Ass, wie man merkt.)
Danke 🙂
 
Java:
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.Timer;

public class Bild {

   private JLabel lbl;
   private Timer timer;

   public void show() {
       JFrame frame = new JFrame("Was nehmen Sie wahr?");

       lbl = new JLabel(new ImageIcon("bild1.jpeg"));
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.add(lbl);
       frame.pack();
       frame.setVisible(true);

       timer = new Timer(5000, e -> lbl.setVisible(false));
       timer.setRepeats(false);
       timer.start();
   }

   public static void main(String[] args) {
       SwingUtilities.invokeLater(() -> new Bild().show());
   }
}

Vergessen: zeigt das Bild für 5000 ms an.
 

Neue Themen


Zurück
Oben