package test {
import flash.display.Sprite;
import flash.events.Event;
import org.aswing.*;
import org.aswing.border.*;
import org.aswing.geom.*;
import org.aswing.colorchooser.*;
import org.aswing.ext.*;
public class testscrollpane {
public function testscrollpane(main:Sprite) {
var f1:FlowParentLayout = new FlowParentLayout();
var f2:FlowParentLayout1 = new FlowParentLayout1();
createFrameTest(f1,"FlowParentLayout");
createFrameTest(f2,"FlowParentLayout1");
var f:JFrame = new JFrame(main, "JScrollPaneFlow");
var p:JPanel = new JPanel();//new FlowParentLayout());
p.setBackground(ASColor.WHITE);p.setOpaque(true);
fillPanel(p);
f.getContentPane().append(new JScrollPaneFlow(p));
f.setSizeWH(400,300);
f.show();
}
private function createFrameTest(layout:LayoutManager,title:String):void {
var f:JFrame = new JFrame(null, title);
var p2:JPanel = new JPanel(layout);
p2.setBackground(ASColor.WHITE);
p2.setOpaque(true);
p2.setClipMasked(false);
fillPanel(p2);
var v:JViewport = new JViewport(p2,true);
v.setHorizontalAlignment(AsWingConstants.LEFT);
v.setVerticalAlignment(AsWingConstants.TOP);
var s:JScrollPane = new JScrollPane(v);
s.setBackground(ASColor.HALO_GREEN);
s.setOpaque(true);
f.getContentPane().append(s);
f.setSizeWH(400,300);
f.show();
}
private function fillPanel(p:JPanel):void {
for (var i:int = 0; i < 100; i++) {
var b:JButton = new JButton(i.toString());
b.setPreferredSize(new IntDimension(Math.round(20*Math.random())+30,Math.round(20*Math.random())+30));
//b.setPreferredSize(new IntDimension(65,50));
b.addActionListener(onClick);
b.setToolTipText("Click me!");
p.append(b);
}
}
private function onClick(e:Event):void {
var b:Component = e.target as JButton;
if(b != null) b.addEventListener(Event.ENTER_FRAME,_onEnterFrame);
}
private function _onEnterFrame(e:Event):void {
var b:Component = e.target as JButton;
b.alpha += -b.alpha/10;
if(b.alpha <0.01){
b.removeEventListener(Event.ENTER_FRAME,_onEnterFrame);
b.setVisible(false);
}
}
}
}
import org.aswing.*;
import org.aswing.geom.*;
internal class FlowParentLayout1 extends FlowWrapLayout{
public function FlowParentLayout1() {
//super(200,AsWingConstants.LEFT,0,0,false);
}
override public function preferredLayoutSize(target:Container):IntDimension {
setPreferWidth(target.getParent().getWidth());
return super.preferredLayoutSize(target);
}
}