Контейнер границы создает общую функцию mouseOver - PullRequest
0 голосов
/ 15 декабря 2011

Я пытаюсь создать функцию для изменения свойства границы контейнера границы. Для этого я создаю функцию для каждого контейнера границы в моем MXML.

Но я бы лучше написал код и выполнил обобщенную функцию.

Сегодня моя функция:

protected function bcContact_mouseOverHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
bcContact.setStyle("borderVisible",true);
bcContact.setStyle("borderWeight",2);
bcContact.setStyle("borderColor",'#000099');
}

bcContact - это один контейнерный идентификатор.

Я пытаюсь заменить bcContact этим, но он не работает.

Можете ли вы помочь мне решить эту ошибку новичка.

Спасибо

Ответы [ 2 ]

2 голосов
/ 15 декабря 2011

U может использовать event.CurrentTraget, а затем использовать функции сравнения, сравнивать с идентификаторами и выполнять настройки.

1 голос
/ 15 декабря 2011

Вы можете расширить класс BorderContainer (в Flash Builder поместить BorderContainer в текстовое поле «Суперкласс»)

Ваш класс будет выглядеть примерно так:

import flash.events.MouseEvent;
import spark.components.BorderContainer;
package com.extensions.containers {

    class MyBorderContainer {

        function MyBorderContainer() {
            this.addEventListener(MouseEvent.MOUSE_OVER, changeStyle);
            this.addEventListener(MouseEvent.MOUSE_OUT, undoStyle);
        }

        private function changeStyle(e:MouseEvent):void {
            this.setStyle("borderVisible",true);
            this.setStyle("borderWeight",2);
            this.setStyle("borderColor",'#000099');
        }

        private function undoStyle(e:MouseEvent):void {
            this.setStyle("borderVisible",false);
            this.setStyle("borderWeight",0);
            this.setStyle("borderColor",'#000000');
        }
    }
}

Этот класс должен быть в файле src/com/extensions/containers/MyBorderContainer.as

Затем используйте это в своем mxml как

<containers:MyBorderContainer>

</containers:MyBorderContainer>

, где пространство имен containers установлено в com/extensions/containers

...