package { import fl.containers.ScrollPane; import fl.controls.Button; import fl.controls.ProgressBar; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.MouseEvent; import flash.events.ProgressEvent; import flash.net.URLRequest; public class ScrollPaneExa extends Sprite { private var sp1:Sprite; private var sp:ScrollPane public function ScrollPaneExa() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; sp= new ScrollPane(); sp.move(0,50); sp.setSize(300,200); addChild(sp); sp1= new Sprite(); for (var i:int=0; i < 8; i++){ var textField:Button=new Button(); textField.x=(i % 2) * 150 + 10; textField.y=int(i / 2) * 50; sp1.addChild(textField); } sp.source = sp1; var b:Button=new Button(); b.label="gan"; b.x=0; b.y=0; b.addEventListener(MouseEvent.CLICK,onClick); this.addChild(b); } private function onClick(e:MouseEvent):void{ removeText(); if(sp!=null){ sp.refreshPane(); // this.removeChild(sp); // sp = null; } } private function removeText():void{ //while(sp1.numChildren>0){ if(sp1.numChildren>0){ sp1.removeChildAt(sp1.numChildren-1); } //} } } } package { import fl.containers.ScrollPane; import fl.controls.Button; import fl.controls.ProgressBar; import flash.display.Sprite; import flash.events.ProgressEvent; import flash.net.URLRequest; public class ScrollPaneExa extends Sprite { public function ScrollPaneExa() { var sp:ScrollPane = new ScrollPane(); sp.move(10,10); sp.setSize(300,200); addChild(sp); var sp1:Sprite = new Sprite(); for (var i:int=0; i < 8; i++){ var textField:Button=new Button(); textField.x=(i % 2) * 150 + 10; textField.y=int(i / 2) * 50; sp1.addChild(textField); } sp.source = sp1; } } } package { import fl.containers.ScrollPane; import fl.controls.Button; import fl.controls.TextArea; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.events.ProgressEvent; import flash.net.URLRequest; public class ScrollPaneRefreshPane extends Sprite { private var myScrollPane:ScrollPane; private var refreshButton:Button private var url:String = "http://www.helpexamples.com/flash/images/image2.jpg"; private var myTextArea:TextArea public function ScrollPaneRefreshPane() { myScrollPane = new ScrollPane(); myScrollPane.setSize(320, 240); myScrollPane.move(10, 10); myScrollPane.load(new URLRequest(url)); myScrollPane.addEventListener(ProgressEvent.PROGRESS, progressHandler); myScrollPane.addEventListener(Event.COMPLETE, completeHandler); addChild(myScrollPane); refreshButton = new Button(); refreshButton.emphasized = true; refreshButton.label = "refreshPane()"; refreshButton.move(myScrollPane.x + myScrollPane.width + 10, myScrollPane.y); refreshButton.addEventListener(MouseEvent.CLICK, clickHandler); addChild(refreshButton); myTextArea = new TextArea(); myTextArea.editable = false; myTextArea.setSize(320, 120); myTextArea.move(myScrollPane.x, myScrollPane.y + myScrollPane.height + 10); addChild(myTextArea); } function progressHandler(event:ProgressEvent):void { var bLoaded:int = event.bytesLoaded; var bTotal:int = event.bytesTotal; var pctLoaded:int = int(event.currentTarget.percentLoaded); addText("progress (" + bLoaded + " of " + bTotal + " bytes loaded -- " + pctLoaded + "%)"); } function completeHandler(event:Event):void { addText("complete"); addText("----------"); } function clickHandler(event:MouseEvent):void { myScrollPane.refreshPane(); } function addText(str:String):void { myTextArea.appendText(str + "/n"); myTextArea.verticalScrollPosition = myTextArea.maxVerticalScrollPosition; } } } import fl.containers.ScrollPane; import fl.controls.Button; var baseURL:String = "http://www.helpexamples.com/flash/images/"; var img1Button:Button = new Button(); img1Button.label = "Image 1"; img1Button.move(10, 10); img1Button.addEventListener(MouseEvent.CLICK, clickHandler); addChild(img1Button); var img2Button:Button = new Button(); img2Button.label = "Image 2"; img2Button.move(10, 40); img2Button.addEventListener(MouseEvent.CLICK, clickHandler); addChild(img2Button); var img3Button:Button = new Button(); img3Button.label = "Image 3"; img3Button.move(10, 70); img3Button.addEventListener(MouseEvent.CLICK, clickHandler); addChild(img3Button); var myScrollPane:ScrollPane = new ScrollPane(); myScrollPane.setSize(320, 240); myScrollPane.move(120, 10); myScrollPane.addEventListener(Event.COMPLETE, completeHandler); addChild(myScrollPane); function clickHandler(event:MouseEvent):void { switch (event.currentTarget) { case img1Button: myScrollPane.source = baseURL + "image1.jpg"; break; case img2Button: myScrollPane.source = baseURL + "image2.jpg"; break; case img3Button: myScrollPane.source = baseURL + "image3.jpg"; break; } } function completeHandler(event:Event):void { myScrollPane.update(); } update()方法 根据内容的宽度和高度刷新滚动条属性。 如果 ScrollPane 的内容在运行时会更改,这就会很有用。 refreshPane() 重新加载滚动窗格的内容。 该方法不重绘滚动条。 若要重置滚动条,请使用 update() 方法。