:
, .
. -.
, . -, .
:
, - protected, .
, , final .
, BufferedImage ImageIcon Image () :
public abstract class ImageRenderer<T extends Image> {
public final void display(String title, T image) {
this.displayTitle(title);
this.displayImage(image);
}
private void displayTitle(String title) {
}
protected abstract void displayImage(T image);
}
BufferedImageRenderer displayImage(), . , generics , displayImage() :
public class BufferedImageRenderer
extends ImageRenderer<BufferedImage> {
@Override
protected void displayImage(BufferedImage image) {
}
}
ImageIconRenderer:
public class ImageIconRenderer
extends ImageRenderer<ImageIcon> {
@Override
protected void displayImage(ImageIcon image) {
}
}
, , , .. ImageIcon:
ImageIcon icon = getImageIconFromSomePlace();
String iconTitle = "My pretty icon";
ImageIconRenderer renderer = new ImageIconRenderer();
renderer.displayImage(iconTitle, icon);
, displayImage() , , :
BufferedImage bufferedImage = getBufferedImageFromSomePlace();
String bufferedImageTitle = "My amazing buffered image";
ImageIconRenderer renderer = new ImageIconRenderer();
renderer.displayImage(bufferedImageTitle, bufferedImage);
source
share