2014-11-08 3 views
0

У меня проблема, я пишу класс Java, его подрядчику понадобятся два параметра, параметр - объект изображения - BufferedImage, мне нужно проверить ширину и высоту изображения.Как отклонить неквалифицированный параметр в конструкторе Java?

Одно правило - Wight imageOne нуждаются быть такими же, как imageTwo, если я не хочу приложение, чтобы остановить и поднять сообщение, чтобы сообщить пользователю, что два изображения не являются хорошим (неквалифицированным).

Я предполагаю, что должен быть один правильный способ справиться с моей идеей на Java, возможно, мне нужно исключение rasie?

К сожалению, добавление часть кода я написал:

public class Replacer { // This class to merge two images, so it need they have same width. 

private BufferedImage smallImage; 
private BufferedImage bigImage; 

Replacer(BufferedImage smallImage, BufferedImage bigImage) { 

    // I want the smallImage and bigImage have same weight   

    this.setSmallImage(smallImage); 
    this.setBigImage(bigImage); 

    wOfNewScreen = bigImage.getWidth(); 
    hOfSmallImage = smallImage.getHeight(); 
    hOfBigImage = bigImage.getHeight(); 

    if (wOfNewScreen != samllImage.getWidth()) { 

     System.out.println("ERROR: The two images don't have same width!!"); 
    } 

} 

// ...}

Может кто-то помочь? Заранее спасибо!

Рид

+0

ОК и для этого задания, что вы сделали до сих пор? – SMA

+1

some code my lord ... – nobalG

+0

Почему для исключения исключений просто указывайте сообщение об ошибке с помощью 'JOptionPane'. Посмотрите на эту ссылку: http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html –

ответ

2

Правильно! Исключение будет лучшим вариантом здесь.

Вместо вашей строки, которая выводит сообщение об ошибке, просто выполните это.

throw new IllegalArgumentException("Both pictures need to be of same width"); 
0

Да, исключение работ, особенно для конструктора. Хороший звонок =)

Другой вариант, проверьте factory method pattern.