Как настроить стандартное изображение для отображения, если поиск по связанному имени изображения не дает результатов? - PullRequest
2 голосов
/ 18 января 2020

Я работаю над проектом для своего курса, и меня попросили показать связанное изображение для продуктов в системе, пользователь может добавлять продукты, и при этом он вводит имя файла изображения. Затем программа находит файл изображения и отображает его вместе с информацией о продукте.

Я хотел бы добавить дополнительный код, чтобы при отсутствии файла изображения, соответствующего строковому вводу, отображалось стандартное изображение. Код, который у меня есть, либо показывает файл изображения, если он найден, либо ничего не показывает. Может ли кто-нибудь показать мне, как изменить его, чтобы он мог показать стандартное изображение, если не найден связанный файл изображения. стандартное изображение просто "no-image-found.jpg". Вот код:

 public void showImage(JLabel imageArea, String image){



BufferedImage img = null;
try {    
    img = (BufferedImage)ImageIO.read(new File(image));
    Image actualimage = img.getScaledInstance(imageArea.getWidth(), imageArea.getHeight(), 0);
    imageArea.setIcon(new ImageIcon(actualimage));
    } 
catch (IOException e) {
    System.out.println(e.getMessage());
    }          
} 

любая помощь очень ценится, и мои искренние извинения, если это вопрос нуба, я совершенно новичок в java.

Ответы [ 2 ]

1 голос
/ 18 января 2020

В основном, проверьте наличие изображения, если путь допустим, иначе получите стандартное изображение. У вас может быть что-то похожее:

    public void showImage(JLabel imageArea, String image)
    {

        BufferedImage img = null;
        try
        {
            file = new File(image);

            if (file.exists())
            {
                img = ImageIO.read(file);
            }
            else
            {
                file = new File(standardImagePath);
                img = ImageIO.read(file);
            }

            Image actualimage = img.getScaledInstance(imageArea.getWidth(), imageArea.getHeight(), 0);
            imageArea.setIcon(new ImageIcon(actualimage));
        }
        catch (IOException e)
        {
            System.out.println(e.getMessage());
        }

1 голос
/ 18 января 2020

В улове вы можете загрузить стандартное изображение и показать его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...