gwt. новый компонент.
От: iridis  
Дата: 20.11.07 12:27
Оценка:
задача: создать новый компонент (декоратор), который мог бы включать в себя другой (не важно какой) компонент и обрабатывать евенты.

делаю так:

public class MyLabel extends Composite implements SourcesMouseEvents {

    private MouseListenerCollection mouseListeners = new MouseListenerCollection();

    public MyLabel(String text) {
        Label label = new Label(text);
        initWidget(label);

        sinkEvents(Event.MOUSEEVENTS);
    }

    public void onBrowserEvent(Event event) {
        mouseListeners.fireMouseEvent(this, event);
    }

    public void addMouseListener(MouseListener listener) {
        mouseListeners.add(listener);
    }

    public void removeMouseListener(MouseListener listener) {
        mouseListeners.remove(listener);
    }
}

.....

        MyLabel label = new MyLabel("xxx");
         label.addMouseListener(new MouseListener() {
            public void onMouseDown(Widget sender, int x, int y) {
                System.out.println("down");
            }

            public void onMouseEnter(Widget sender) {

            }

            public void onMouseLeave(Widget sender) {

            }

            public void onMouseMove(Widget sender, int x, int y) {

            }

            public void onMouseUp(Widget sender, int x, int y) {

            }
        });

        RootPanel.get().add(label);


не работает. почему?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.