Scrollbar im Windows vs Scrollbar auf dem Mac

Alles was mit Swing und AWT zu tun hat

Moderatoren: wegus, Olek77

Antworten
Arathmar
Beiträge: 2
Registriert: 11.07.2012, 08:04

Scrollbar im Windows vs Scrollbar auf dem Mac

Beitrag von Arathmar » 11.07.2012, 08:11

Hallo Community,

ich habe bisher NetBeans lediglich auf meinem Windows-Rechner verwendet und diese Woche einen Mac in die Finger bekommen.

Mein Programm läuft grundsätzlich gleich ab, nur die Scrollbars verhalten sich auf dem Mac anders. Wenn ich scrollen will, passiert da leider nix. Das entsprechende Objekt wird ständig vom LayoutManager wieder auf die Startposition gesetzt.

Es handelt sich bei besagter Scrollbar um eine JScrollbar. Der ModelListener, welcher die Änderung innerhalb der Scrollbar mitbekommt, ist im Windows aus der BasisScrollBarUI und auf dem Mac aus der AquaScrollBarUI. Auf dem Mac wird daraufhin ein Repaint() aufgerufen, welches ich im Windows nicht habe.

Gibt es da grundsätzliche Unterschiede oder mache ich was falsch?

MfG
Arathmar

Benutzeravatar
Olek77
Beiträge: 669
Registriert: 21.03.2009, 13:09

Re: Scrollbar im Windows vs Scrollbar auf dem Mac

Beitrag von Olek77 » 11.07.2012, 14:52

Hi,

Willkommen im Forum :)

Was genau meinst du mit scrollen?
Wenn du mit der Maus den "Knob", also die Leiste verziehst oder
mit dem Mausrad?

Diese UI-Klassen brauchst du eigentlich nie!
Normalerweise kümmert sich das JScrollpane um alles was scrollen anbelangt selber.
Du brauchst keinerlei listener. Wenn du spezielle Ereignisse behandel möchtest, wo
du dann zu einer bestimmten Position scrollst wäre ein Listener angebracht.
Schau dir doch erst mal das tutorial zu JScrollPane an.
http://download.oracle.com/javase/tutor ... lpane.html

Viele Grüße,

Olek
- Netbeans Certified Associate -

Arathmar
Beiträge: 2
Registriert: 11.07.2012, 08:04

Re: Scrollbar im Windows vs Scrollbar auf dem Mac

Beitrag von Arathmar » 12.07.2012, 10:35

Hallo Olek,

ich will sowohl auf das Mausrad, als auch auf das Verschieben des Knob reagieren. Dabei möchte ich die Schrittweite aber selber bestimmen. Daher die Listener.

Ich habe das nun so gestaltet, dass ich beim Repaint die alte Scroll-Position auslese und dem SetValues-Befehl der Scrollbar mitgebe. So funktioniert die Anzeige und auch das Verhalten.

MfG

Arathmar

Benutzeravatar
Olek77
Beiträge: 669
Registriert: 21.03.2009, 13:09

Re: Scrollbar im Windows vs Scrollbar auf dem Mac

Beitrag von Olek77 » 12.07.2012, 14:30

Re,

Gut, wenn es jetzt klappt.

Verstehe aber noch nicht wieso du da diese UI-Klassen einbeziehst.

Normalerweise registrierst du einen AdjustmentListener auf den ScrollBar's vom JScrollPane, welche
du erfragen kannst.

Gruß,

Olek
- Netbeans Certified Associate -

Antworten