Swt Cursor + Eclipse rcp

hagbard23

Mitglied
Hallo zusammen....

mein problem ist der mauszeiger in der eclipse rcp.

1. weis ich nicht wie ich einen mauszeiger nur über einer bestimmten view ändern kann, so dass wenn er diese verläßt, der normale standard arrow angezeigtr wird.

2. wenn ich den mouse zeiger ändere, funktieneirt das cursor change an den view grenzen nicht mehr, bis ich einen neuen view öffne
 
Hallo,

wenn ein parent Composite nicht von einem Viewer / einer Form verdeckt wird kannst du da ganz einfach einen MouseTrackListener registieren. Zeigst du in deiner View über deren Fläche eine andere Komponente an, so musst du den MouseTrackListener dort registrieren.

Java:
parent.addMouseTrackListener(new MouseTrackAdapter(){
            
            Cursor oldCursor;
            Cursor handCursor = new Cursor(Display.getCurrent(),SWT.CURSOR_HAND);
            
            
            @Override
            public void mouseEnter(MouseEvent e) {
                System.out.println(e);
                oldCursor = parent.getCursor();
                parent.setCursor(handCursor);
            }
            
            @Override
            public void mouseExit(MouseEvent e) {
                System.out.println(e);
                parent.setCursor(oldCursor);
            }
        });

Gruß Tom
 
super danke, das hilft mir weiter.

aber was da los ist mit dem mauszeiger(mein 2. er punkt) weist du auch nicht. Also das ist ein recht seltsames Verhalten: wenn ich den cursur mit den SWT methoden sette, verleirt er sein ganzes standard verhalten! Das heißt er wechselt das icon nicht mehr an den view grenzen. Und mein zielverhalten ist ja, dass der cursur icon 1 in der view hat und beim bewegen über die viewgrenzen den border-cursur animmt und dann den standardarrow!
 
ok moment...

wenn ich ein cursor mit dem track listener sette, klappts. aber was ist wenn ich wirklich einen mauszeiger über die ganze gui verändern wiill....
 
Zurück