eric barns
unread,Apr 22, 2013, 10:37:14 AM4/22/13Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to aswing-...@googlegroups.com
Can you help, tried to amend lunar examples to accept scrolling pics and a main display area,only i can get it to work if i append list direct to JFrame, no panel or borders!!
package
{
import flash.display.Sprite;
import flash.events.Event;
import org.aswing.*;
import org.aswing.JPanel;
import org.aswing.JComboBox;
import org.aswing.JLabel;
import org.aswing.JFrame;
import org.aswing.FlowLayout;
import org.aswing.border.BevelBorder;
import org.aswing.Insets;
import org.aswing.border.EmptyBorder;
import org.aswing.border.TitledBorder;
import org.aswing.SoftBoxLayout;
import org.aswing.LoadIcon;
import org.aswing.BorderLayout;
import org.aswing.geom.IntDimension;
import org.aswing.VectorListModel;
import org.aswing.JList;
import org.aswing.JScrollPane;
import org.aswing.GeneralListCellFactory;
public class LunarPhases extends Sprite
{
private static var NUM_IMAGES : int =11;
private static var START_INDEX : int = 1;
private var images : Array ;
private var selectPanel : JPanel;
private var displayPanel : JPanel;
private var scrollPane: JScrollPane
private var phaseIconLabel : JLabel;
private var model:VectorListModel;
private var list:JList;
public function LunarPhases(){
super();
createUI();
}
private function createUI() : void{
var frame : JFrame = new JFrame( this, "Lunar Phases" );
frame.setContentPane( createCenterPane() );
frame.pack();
frame.setSize(new IntDimension( 1024, 768 ) );
frame.show();
}
private function createCenterPane() : JPanel{
images = new Array(NUM_IMAGES);
for (var i:int = 0; i < NUM_IMAGES; i++) {
images[i] = new LoadIcon("images/image" + i + ".jpg", 840,630,true);
}
//Create the phase selection and display panels.
selectPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
selectPanel.setPreferredSize(new IntDimension(160,600));
displayPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
phaseIconLabel = new JLabel("");
// phaseIconLabel.setBorder(new BevelBorder(new EmptyBorder(null, new Insets(2,2,2,2))));
model = new VectorListModel();
for(var k:int=1; k<11; k++){
model.append( new JListExample2Value("images/image" +k+ ".jpg" , "image " + k));
}
//list = new JList(model,new GeneralListCellFactory( LoadImageListCell, true,true,128));
list = new JList(model,new GeneralListCellFactory( LoadImageListCell, false,true,128));
list.setVisibleCellWidth(128);
list.setVisibleRowCount(5);
//Display the first image.
phaseIconLabel.setIcon(images[START_INDEX]);
//Add a border around the select panel.
selectPanel.setBorder(new EmptyBorder(new TitledBorder(null, "Select Phase"), new Insets(2, 2, 2, 2)));
//Add a border around the display panel.
displayPanel.setBorder(new EmptyBorder(new TitledBorder(null, "Display Phase"), new Insets(2, 2, 2, 2)));
//Add moon phases combo box to select panel and image label.
displayPanel.append(phaseIconLabel);
selectPanel.append(list);
//Create the main panel to contain the two sub panels.
var mainPanel : JPanel = new JPanel(new SoftBoxLayout());
mainPanel.setBorder(new EmptyBorder(null, new Insets(2,2,2,2)));
//Add the select and display panels to the main panel.
mainPanel.append(displayPanel);
mainPanel.append(selectPanel);
initHandlers();
return mainPanel;
}
private function initHandlers() : void{
list.addSelectionListener(__selectPhase);
}
private function __selectPhase( e : Event ) : void{
phaseIconLabel.setIcon(images[list.getSelectedIndex()+1]);
phaseIconLabel.revalidate();
var li : LoadIcon = phaseIconLabel.getIcon() as LoadIcon;
trace(phaseIconLabel.getSize()+" "+li.getIconHeight(phaseIconLabel)+" "+li.getIconWidth(phaseIconLabel));
}
}
}