public static BufferedImage loadImage(String fileName){
File file = new File(fileName);
try {
return ImageIO.read(file);
} catch (Exception e){
throw new RuntimeException();
}
}
public static Image scaleImage(Image image, int width, int height){
return image.getScaledInstance(width, height, Image.SCALE_SMOOTH);
}
JLabel imageLabel = new JLabel("Тут будет картинка...");
imageLabel.setBounds(10, 10, 200, 200);
Image image = scaleImage(loadImage("img.jpg"), imageLabel.getWidth(), imageLabel.getHeight()); // размер изображения = размеру label-а
ImageIcon imageIcon = new ImageIcon(image);
imageLabel.setIcon(imageIcon);
JLabel imageLabel = new JLabel("Тут будет картинка...");
imageLabel.setBounds(10, 10, 200, 200);
ImageIcon imageIcon = new ImageIcon("1.jpg");
imageLabel.setIcon(imageIcon);
import javax.imageio.ImageIO;
import java.awt.*;
import java.io.File;
public class ImageController {
// Загрузить изображение из файла
public static Image load(String filename){
File file = new File(filename);
try {
return ImageIO.read(file);
} catch (Exception e) {
throw new RuntimeException(e); // генерирует исключение
}
}
// Изменить размеры изображение
public static Image scale(Image image, int width, int height){
return image.getScaledInstance(width, height, Image.SCALE_SMOOTH);
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MainProgress {
// массив с именами файлов изображений
static String[] images = new String[]{
"1.png", "image.jpg", "image1.jpeg"
};
// номер изображения в массиве, которое показываем на экране
static int number = 0;
public static void main(String[] args) {
JFrame window = new JFrame();
window.setSize(800, 600);
window.setLayout(null);
JLabel imageLabel = new JLabel();
imageLabel.setBounds(10, 10, 780, 450);
// Добавляем первое (нулевое) изобрадение из массива
// изображения лежат в папке images
Image image = ImageController.load("images/" + images[0]);
image = ImageController.scale(image, imageLabel.getWidth(), imageLabel.getHeight());
ImageIcon imageIcon = new ImageIcon(image);
imageLabel.setIcon(imageIcon);
window.add(imageLabel);
JButton buttonLeft = new JButton("<--");
buttonLeft.setBounds(10, 500, 100, 30);
window.add(buttonLeft);
JButton buttonRight = new JButton("-->");
buttonRight.setBounds(120, 500, 100, 30);
window.add(buttonRight);
buttonLeft.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// реализовать смену изображений "влево"
}
});
buttonRight.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// смена изображений "вправо"
number = (number + 1) % images.length;
Image image = ImageController.load("images/" + images[number]);
image = ImageController.scale(image, imageLabel.getWidth(), imageLabel.getHeight());
ImageIcon imageIcon = new ImageIcon(image);
imageLabel.setIcon(imageIcon);
}
});
window.setVisible(true);
}
}