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); } }