Hi,
ich bin gerade dabei, einen ImageViewer zu bauen. Dabei habe ich folgendes Problem: wie kann ich erreichen, dass das Bild nach einer Grössenänderung derJScrollPane immer den gesamten Bereich (viewport) ohne Rollbalken ausfüllt?
Das mit den Rollbalken funnktioniert bereits - nur die Grössenanpassung ist das Problem.
Ein bisschen code gefällig? Voilá:
Ich muss also width und height berechnen bzw. die entsprechenden Werte in Erfahrung bringen. Nur: wie? Hat jemand ne' Idee?
Pepe
ich bin gerade dabei, einen ImageViewer zu bauen. Dabei habe ich folgendes Problem: wie kann ich erreichen, dass das Bild nach einer Grössenänderung derJScrollPane immer den gesamten Bereich (viewport) ohne Rollbalken ausfüllt?
Das mit den Rollbalken funnktioniert bereits - nur die Grössenanpassung ist das Problem.
Ein bisschen code gefällig? Voilá:
Java:
class ImageScrollablePane extends JScrollPane {
private Image image = null;
private final ImagePane imagePane;
ImageScrollablePane() {
imagePane = new ImagePane();
imagePane.setHorizontalScrollBarPolicy(HORIZONTAL_SCROLLBAR_NEVER);
imagePane.setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_NEVER);
setViewportView(imagePane);
}
public void setImage(Image image) {
this.image = image;
imagePane.revalidate();
}
class ImagePane extends JComponent {
int height = 0;
int width = 0;
public void paintComponent() {
graphics.drawImage(image, 0, 0, width, height);
}
}
}
Ich muss also width und height berechnen bzw. die entsprechenden Werte in Erfahrung bringen. Nur: wie? Hat jemand ne' Idee?
Pepe