应用思考-教育技术论坛

标题: 一个回答题的flash做法 [打印本页]

作者: yuxuan2658    时间: 2013-7-14 16:35
标题: 一个回答题的flash做法
首先看效果:二话不说看图: (, 下载次数: 9) (, 下载次数: 10)
附件:
回答题.swf然后是两个类文件。
  1. package {

  2. import org.aswing.*;
  3. import org.aswing.border.*;
  4. import org.aswing.geom.*;
  5. import org.aswing.colorchooser.*;
  6. import org.aswing.ext.*;

  7. /**
  8. * MyPanel
  9. */
  10. public class MyPanel extends JPanel{
  11.        
  12.         //members define
  13.         private var label7:JLabel;
  14.         private var label10:JLabel;
  15.         private var myTextArea:JTextArea;
  16.         private var myBtn:JButton;
  17.        
  18.         /**
  19.          * MyPanel Constructor
  20.          */
  21.         public function MyPanel(){
  22.                 //component creation
  23.                
  24.                 setOpaque(true);
  25.                 setBackground(new ASColor(0xeeeeee));
  26.                
  27.                 setSize(new IntDimension(400, 151));
  28.                 var border0:CaveBorder = new CaveBorder();
  29.                 border0.setBeveled(true);
  30.                 setBorder(border0);
  31.                 var layout1:FlowLayout = new FlowLayout();
  32.                 setLayout(layout1);
  33.                
  34.                 label7 = new JLabel();
  35.                 label7.setFont(new ASFont("Tahoma", 14, true, false, false, false));
  36.                 label7.setLocation(new IntPoint(5, 5));
  37.                 label7.setSize(new IntDimension(244, 21));
  38.                 label7.setText("阅读课文内容后请回答下面的问题:");
  39.                
  40.                 label10 = new JLabel();
  41.                 label10.setOpaque(false);
  42.                 label10.setLocation(new IntPoint(5, 31));
  43.                 label10.setSize(new IntDimension(174, 23));
  44.                 var border2:CaveBorder = new CaveBorder();
  45.                 border2.setBeveled(true);
  46.                 label10.setBorder(border2);
  47.                 label10.setText("1.唐朝对东突厥做了那些政策?");
  48.                
  49.                 myTextArea = new JTextArea();
  50.                 myTextArea.setLocation(new IntPoint(23, 5));
  51.                 myTextArea.setSize(new IntDimension(391, 67));
  52.                 myTextArea.setText("答:包括战争,唐太宗借东突厥内乱之机扫平东突厥;唐朝政府在当地设立都督府,任用突厥贵族进行管理;保留原有的民族习惯与生活方式");
  53.                 myTextArea.setWordWrap(true);
  54.                 myTextArea.setOpaque(true);
  55.                 myTextArea.setBackground(new ASColor(0xdddddd));
  56.                
  57.                 myBtn = new JButton();
  58.                 myBtn.setLocation(new IntPoint(5, 71));
  59.                 myBtn.setSize(new IntDimension(58, 26));
  60.                 myBtn.setText("显示答案");
  61.                
  62.                 //component layoution
  63.                 append(label7);
  64.                 append(label10);
  65.                 append(myTextArea);
  66.                 append(myBtn);
  67.                
  68.         }
  69.        
  70.         //_________getters_________
  71.        
  72.        
  73.        
  74.         public function getMyTextArea():JTextArea{
  75.                 return myTextArea;
  76.         }
  77.        
  78.         public function getMyBtn():JButton{
  79.                 return myBtn;
  80.         }
  81.        
  82.        
  83. }
  84. }
复制代码
第二类文件,文档类。
  1. package
  2. {
  3.         import flash.display.Sprite;
  4.         import flash.events.Event;
  5.         import flash.events.MouseEvent;
  6.         import org.aswing.AsWingManager;
  7.         import org.aswing.geom.IntPoint;
  8.         import org.aswing.JButton;
  9.         import org.aswing.JLabel;
  10.         import org.aswing.JTextArea;
  11.        
  12.         /**
  13.          * ...
  14.          * @author yuxuan2658
  15.          */
  16.         public class Main extends Sprite
  17.         {
  18.                 //private var mylabel:JLabel;
  19.                 private var isShowing:Boolean;
  20.                 private var mytextarea:JTextArea;
  21.                 private var mybutton:JButton;
  22.                
  23.                 public function Main():void
  24.                 {
  25.                         if (stage) init();
  26.                         else addEventListener(Event.ADDED_TO_STAGE, init);
  27.                 }
  28.                
  29.                 private function init(e:Event = null):void
  30.                 {
  31.                         removeEventListener(Event.ADDED_TO_STAGE, init);
  32.                         // entry point
  33.                        
  34.                         AsWingManager.initAsStandard(this);
  35.                        
  36.                         var myp:MyPanel = new MyPanel();
  37.                         addChild(myp);
  38.                         myp.setSizeWH(400, 151);
  39.                         myp.validate();
  40.                        
  41.                        
  42.                         mybutton = myp.getMyBtn() as JButton;
  43.                         //addChild(mybutton);
  44.                         //mybutton.setSizeWH(60,25);
  45.                         mybutton.addEventListener(MouseEvent.CLICK, onClicked);
  46.                        
  47.                         mytextarea = myp.getMyTextArea() as JTextArea;
  48.                        
  49.                         mytextarea.setVisible(false);
  50.                         isShowing = true;
  51.                 }
  52.                
  53.                 private function onClicked(e:MouseEvent):void
  54.                 {
  55.                        
  56.                        
  57.                        
  58.                         if (isShowing) {
  59.                                
  60.                                         mytextarea.setVisible(true);
  61.                                         mybutton.setText("隐藏答案");
  62.                                
  63.                                 }else{
  64.                                
  65.                                         mytextarea.setVisible(false);
  66.                                         mybutton.setText("显示答案");
  67.                                        
  68.                                 };
  69.                                        
  70.                         isShowing = !isShowing;       
  71.                        
  72.                         //trace(isShowing);
  73.                 }
  74.                
  75.         }
  76.        
  77. }
复制代码
说明一下:本课件用flashdevelop+aswing做成。

作者: yuxuan2658    时间: 2013-7-14 17:44
顶我自己的东西!没有人回复,好孤单!
作者: 东拼西筹    时间: 2013-7-14 19:11
学习学习
作者: yuxuan2658    时间: 2013-7-14 20:13
你是高手,应该向你学习了!不敢,不敢!!!
作者: vickyfei    时间: 2013-7-21 12:05
下下来学习一下
作者: 秋天    时间: 2013-12-17 17:08
代码好长啊
作者: 想换个名字可以吗    时间: 2013-12-22 20:05
很棒啊,必须顶啊这个
作者: 想换个名字可以吗    时间: 2013-12-22 20:06
这个用了aswing的开源api库,但是单纯的讲如果要做的话不必非得用这个,增加了文件的大小,不过aswing的界面做的很棒。有利于深刻的了解as的mvc编程思想。
作者: No.3    时间: 2014-1-8 20:46
太深奥,看不懂
作者: 小mmmmm    时间: 2014-6-19 22:09
{:soso_e179:}
作者: yuxuan2658    时间: 2014-7-5 12:35
呵呵呵,谢谢点赞呀!




欢迎光临 应用思考-教育技术论坛 (http://etthink.com/) Powered by Discuz! X3.4