Witam!
Mam za zadanie zrobić przeglądarkę zdjęć.
Na starcie użytkownik podaję czas w sekundach przez jaki będzie wyświetlało się kolejne zdjęcie. Po upływie czasu program automatycznie otwiera kolejne a po zakończeniu wyświetlania wszystkich obrazków w oknie ukazuje się napis "Koniec prezentacji". Jeśli obrazka nie udąło się załadować (brak lub błąd) w oknie wyświetlany jest napis "Brak obrazka". Chodzi również aby Dane (katalog, czas wyświetlania jednego obrazka)były podane jako argument programu.
Sytuacja wygląda tak, że obecnie stworzyłem szkielet - program który wyświetla obrazek, doskalowywuje go do wielkości okna a w przypadku braku zdjęcia wyświetla komunikat "Brak obrazka"
**Potrzebuje jednak pomocy z częścią dotyczącą wyświetlania kolejnych zdjęć i podaniem czasu wyświetlania na początku jako argumentu. Również nie do końca wiem jak zrobić aby katalog ze zdjęciami był podawany jako argument programu.
**
Mój kod obecnie wygląda tak:
package Przegladarka;
import javax.swing.*;
import java.awt.*;
class ImagePanel extends JPanel {
Image img;
boolean loaded = false;
public ImagePanel(String imgFileName) {
loadImage(imgFileName);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (img != null && loaded)
g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
else
g.drawString("Brak obrazka", 10, getHeight() - 10);
}
private void loadImage(String imgFileName) {
img = Toolkit.getDefaultToolkit().getImage(imgFileName);
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 1);
try {
mt.waitForID(1);
} catch (InterruptedException exc) {
}
int w = img.getWidth(this);
int h = img.getHeight(this);
if (w != -1 && w != 0 && h != -1 && h != 0) {
loaded = true;
setPreferredSize(new Dimension(w, h));
} else
setPreferredSize(new Dimension(200, 200));
}
}
public class ImagePanelTest extends JFrame {
public ImagePanelTest(String fname) {
ImagePanel p = new ImagePanel(fname);
add(p);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String args[]) {
new ImagePanelTest("morze.jpg");
}
}
Z góry dziękuje za pomoc i wskazówki!!!