AsWing本身是一款ActionScript的开源UI组件,是按照Java Swing的架构写的。
本次使用的是AsWing的AS3版中的JList,简单的list使用在Test中已经有例子。今天尝试的是在list中加入更复杂的组件如JLabelBottun。
首先和Java Swing一样,AsWing遵循MVC模式。其中和list有关的主要是ListModel类,ListSelectModel类,ListCell接口,ListCellFactory接口,其中ListCell接口完成Java Swing中Cell Render的功能。而ListCellFactory接口用于生成ListCell接口。默认情况下JList只能把数据按照Text的方式显示(具体实现可见DefualtListCell类)。为了实现更丰富的功能,我们必须自己写一个类,和DefualListCell一样继承于AbstractListCell。
于是我参照DefualtListCell写了一个UserListCell
package com.List{
import org.aswing.AbstractListCell;
import org.aswing.Component;
import org.aswing.JLabelButton;
import org.aswing.event.ResizedEvent;
public class UserListCell extends AbstractListCell {
private var User:JLabelButton;
public function Use