Try addressRB.setActualSize(addressRB.measuredWidth,addressRB.measuredHeight) airportRB.setActualSize(addressRB.measuredWidth, addressRB.measuredHeight);
in the updateDisplayList() function --- In flexcoders@yahoogroups.com, "Wally Kolcz" <wko...@...> wrote: > > > > Using an example from the web I am trying to > create a custom Panel component that had radio buttons in the panel header > for a specific piece of a web site. The panel works and I am getting 2 radio > buttons but no labels for either button and the radioGroup's > changeStartType() is not being called > . What am I doing wrong? Here is the AS: > > package com.wallykolcz.views.components > { > > import edu.umich.body.Maps; > import flash.events.Event; > import mx.containers.Panel; > import mx.controls.Button; > import mx.controls.RadioButton; > import mx.controls.RadioButtonGroup; > > public class RadioButtonPanel extends Panel > { > > //Create Radio Button Group and Buttons > private var startLocation:RadioButtonGroup = new RadioButtonGroup(); > private var addressRB:RadioButton = new RadioButton(); > private var airportRB:RadioButton = new RadioButton(); > private var maps:Maps; > > //constructor > public function RadioButtonPanel() > { > super(); > } > > public function changeStartType():void { > if (startLocation.selectedValue == "address"){ > maps.start_txt.text = "Enter Starting Address"; > maps.frmAirport.includeInLayout = false; > maps.frmAirport.visible = false; > maps.frmAddress.includeInLayout = true; > maps.frmAddress.visible = true; > maps.submit_btn.visible = true; > }else{ > maps.start_txt.text = "Choose Your Airport"; > maps.frmAddress.includeInLayout = false; > maps.frmAddress.visible = false; > maps.frmAirport.includeInLayout = true; > maps.frmAirport.visible = true; > maps.submit_btn.visible = true; > } > } > > protected override function createChildren():void{ > super.createChildren(); > //instantiate new radiobuttons and assign properties > addressRB.value="address"; > addressRB.label="My Address"; > addressRB.groupName = "startLocation"; > > airportRB.value="airport"; > airportRB.label="Airport"; > airportRB.groupName="startLocation" > > //add event listener for change event and call method > startLocation.addEventListener(Event.CHANGE, changeStartType); > > //add the buttons to rawChildren > rawChildren.addChild(addressRB); > rawChildren.addChild(airportRB); > } > > protected override function updateDisplayList(unscaledWidth:Number, > unscaledHeight:Number):void{ > super.updateDisplayList(unscaledWidth, unscaledHeight); > //gap between label and edges of button > var margin:int = 4; > > //position the buttons in the panel > addressRB.move(145, 15); > airportRB.move(255,15) > } >