RMC
2006-08-28, 18:03:09
Wie kann man Folgendes erreichen?
Gegeben sei eine JScrollPane, dessen Inhalt sich mit Scrollbalken verschieben lässt. Der Rahmen ist gezwungenermaßen viereckig. Hier ein Bild wie es normalerweise üblich ist:
http://img118.imageshack.us/img118/1903/scrolldemo2il7.gif (http://imageshack.us)
Jetzt möchte ich gern, dass der zu scrollende Inhalt nicht von einer eckigen Umrandung begrenzt wird, sondern durch einen Rahmen beliebiger Form, ungefähr so:
http://img175.imageshack.us/img175/5853/scrolldemo2ua7.jpg (http://imageshack.us)
Der Inhalt (hier mit den bunten Kreisen) soll natürlich _unter_ der grauen Begrenzung weiterscrollen. Diese zusätzliche Umrandung in dieser komischen Form sei jetzt zB ein PNG-Bild mit Alphakanal, das über dem Inhalt drüber liegen soll.
Zwei Möglichkeiten hab ich schon ausprobiert, die leider nicht ganz so funktionieren wie ich es gerne hätte:
1) Das Rahmenbild wird ebenfalls in den scrollenden Inhalt eingefügt (es bewegt sich demnach mit) und durch Gegenrechnen der Brewegung immer um die Anzahl an Pixeln auf x und y Achse zurückgesetzt, sodass die Illusion entsteht dass sich der Rahmen eigentlich nie bewegt. Leider fällt es doch auf, er hüpft leicht hin und her und flackert zusehends.
2) Das Bild wird einfach über die gesamte Scrollpane drübergelegt, allerdings wird es beim Scrollen dann übermalt. (Könnte sein dass die paint-Reihenfolge nicht richtig ist, imho aber schon)
Vielleicht gibts noch eine andere Lösung oder eine besseren Vorschlag zu meinen bisherigen.
Danke :)
Gegeben sei eine JScrollPane, dessen Inhalt sich mit Scrollbalken verschieben lässt. Der Rahmen ist gezwungenermaßen viereckig. Hier ein Bild wie es normalerweise üblich ist:
http://img118.imageshack.us/img118/1903/scrolldemo2il7.gif (http://imageshack.us)
Jetzt möchte ich gern, dass der zu scrollende Inhalt nicht von einer eckigen Umrandung begrenzt wird, sondern durch einen Rahmen beliebiger Form, ungefähr so:
http://img175.imageshack.us/img175/5853/scrolldemo2ua7.jpg (http://imageshack.us)
Der Inhalt (hier mit den bunten Kreisen) soll natürlich _unter_ der grauen Begrenzung weiterscrollen. Diese zusätzliche Umrandung in dieser komischen Form sei jetzt zB ein PNG-Bild mit Alphakanal, das über dem Inhalt drüber liegen soll.
Zwei Möglichkeiten hab ich schon ausprobiert, die leider nicht ganz so funktionieren wie ich es gerne hätte:
1) Das Rahmenbild wird ebenfalls in den scrollenden Inhalt eingefügt (es bewegt sich demnach mit) und durch Gegenrechnen der Brewegung immer um die Anzahl an Pixeln auf x und y Achse zurückgesetzt, sodass die Illusion entsteht dass sich der Rahmen eigentlich nie bewegt. Leider fällt es doch auf, er hüpft leicht hin und her und flackert zusehends.
2) Das Bild wird einfach über die gesamte Scrollpane drübergelegt, allerdings wird es beim Scrollen dann übermalt. (Könnte sein dass die paint-Reihenfolge nicht richtig ist, imho aber schon)
Vielleicht gibts noch eine andere Lösung oder eine besseren Vorschlag zu meinen bisherigen.
Danke :)