Просмотр изображений. Слайд шоу - Java
Формулировка задачи:
Помогите!!Надо сделать к этой программе чтобы когда изображения нет, выводило в окно ,где именно и происходит это слайдшоу ,надпись "File not found", и в конце когда все изображения было показано "The end", так же чтобы был установленный шрифт и размер букв
package imageSlideShows_new;
import java.awt.Color;
import java.awt.Image;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
@SuppressWarnings("serial")
public class Main extends JFrame{
JLabel pic;
Timer tm;
int x = 0;
String[] list = {
"C:/Users/Sophia/Desktop/imgslides/1.jpg",
"C:/Users/Sophia/Desktop/imgslides/2.jpg",
"C:/Users/Sophia/Desktop/imgslides/3.png",
"C:/Users/Sophia/Desktop/imgslides/4.jpg",
"C:/Users/Sophia/Desktop/imgslides/5.png",
"C:/Users/Sophia/Desktop/imgslides/6.gif",
"C:/Users/Sophia/Desktop/imgslides/7.gif",
"C:/Users/Sophia/Desktop/imgslides/8.png"
};
public Main(){
super("Images SlideShow");
pic = new JLabel();
pic.setBounds(40, 30, 700, 300);
SetImageSize(7);
tm = new Timer(2500,new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
SetImageSize(x);
x += 1;
if(x >= list.length )
{
x=0;
}
}
}
});
add(pic);
tm.start();
setLayout(null);
setSize(800, 400);
getContentPane().setBackground(Color.decode("#3c3a2a"));
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void SetImageSize(int i){
ImageIcon icon = new ImageIcon(list[i]);
Image img = icon.getImage();
Image newImg = img.getScaledInstance(pic.getWidth(), pic.getHeight(), Image.SCALE_SMOOTH);
ImageIcon newImc = new ImageIcon(newImg);
pic.setIcon(newImc);
}
public static void main(String[] args){
new Main();
}
}Решение задачи: «Просмотр изображений. Слайд шоу»
textual
Листинг программы
import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/**
*
* @author Nicholas White
*/
public class Main extends JFrame {
JLabel pic;
Timer tm;
int x = 0;
Font font = new Font("Helvetica", Font.BOLD, 40);
String[] list = {
"C:/Users/Пользователь/Documents/NetBeansProjects/SlideShow/build/classes/slideshow/1.jpg",
"C:/Users/Пользователь/Documents/NetBeansProjects/SlideShow/build/classes/slideshow/2.png",
"C:/Users/Пользователь/Documents/NetBeansProjects/SlideShow/build/classes/slideshow/3.png",
"C:/Users/Пользователь/Documents/NetBeansProjects/SlideShow/build/classes/slideshow/4.png",
"C:/Users/Пользователь/Documents/NetBeansProjects/SlideShow/build/classes/slideshow/5.png",
""};
public Main() {
super("Images SlideShow");
pic = new JLabel();
pic.setBounds(40, 30, 700, 300);
pic.setForeground(Color.white);
pic.setFont(font);
tm = new Timer(2500, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ImageIcon ii = getResizedImage(x);
pic.setText("File Not Found");
x += 1;
if (x >= list.length) {
x = 0;
pic.setText("The End");
}
pic.setIcon(ii);
}
});
add(pic);
tm.start();
setLayout(null);
setSize(800, 400);
getContentPane().setBackground(Color.decode("#3c3a2a"));
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
private ImageIcon getResizedImage(int i) {
ImageIcon icon = new ImageIcon(list[i]);
Image img = icon.getImage();
Image newImg = img.getScaledInstance(pic.getWidth(), pic.getHeight(), Image.SCALE_SMOOTH);
ImageIcon newImc = new ImageIcon(newImg);
return newImc;
}
}