Cześć,
Mam spory problem z wykonaniem pokazu slajdów w Javie. Program ma pobierać z argumentów programu ścieżkę do folderu, z którego ma ściągać pliki graficznej, które następnie mają być wyświetlane w oknie (którego rozmiar ma się dopasowywać do wymiarów obrazków).
Mam też klasę rozszerzającą JFrame i dodaję do niej obiekt klasy ImagePanel. Niestety po uruchomieniu programu nic się nie wyświetla. Czy da się to rozwiązać idąc tą drogą, a jeśli tak, to co może być przyczyną, że nic się nie dzieje?
public class ImagePanel extends JPanel { Image img; boolean loaded = false; private int period, size; private boolean end = false; private int n = 0; private String[] paths; Timer timer; public ImagePanel(File dir, int period, int size) { this.period = period; this.size = size; paths = dir.list(); timer = new Timer(period, new ActionListener() { public void actionPerformed(ActionEvent e) { if (n < paths.length) { loadImage(paths[n]); } else { end = true; timer.stop(); } n++; } }); timer.start(); } public void paintComponent(Graphics g) { super.paintComponent(g); if (end) g.drawString("Koniec", 0, 0); //loaded == true - oznacza, że plik ma wymiary różne od 0 i od -1, czyli można go narysować if (img != null && loaded) g.drawImage(img, 0, 0, getWidth(), getHeight(), this); else g.drawString("Błąd", 10, getHeight() - 10); } private void loadImage(String imgFileName) { img = new ImageIcon(imgFileName).getImage(); /* ustawianie rozmiarów okna */ } }