• AIR中的文件系统控件


     写AIR的过程中,可能会用到文件系统的相关控件。比如选择某一目录,浏览文件列表等。

    AIR中有三种比较常用的列表类组件 --- List、Tree、DataGrid,它们的效果分别如下图所示:

    image

    分别对应:FileSystemList、FileSystemTree、FileSystemDataGrid

       1: <?xml version="1.0" encoding="utf-8"?>
       2: <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
       3:                         title="....x"
       4:                         windowComplete="inited()">
       5:     
       6:     <mx:Script>
       7:         <![CDATA[
       8:             import mx.events.FileEvent;
       9:             
      10:             private function inited():void
      11:             {
      12:                 fileCB.directory = File.documentsDirectory;
      13:             }
      14:             
      15:             private function changeHandler(evt:FileEvent):void
      16:             {
      17:                 trace(evt.file.nativePath);
      18:             }
      19:             
      20:         ]]>
      21:     </mx:Script>
      22:     
      23:     <mx:HBox width="100%">
      24:         
      25:         <mx:FileSystemComboBox id="fileCB" directory="{fileList.directory}" directoryChange="changeHandler(event)" />
      26:         
      27:         <mx:FileSystemList id="fileList" directory="{fileCB.directory}" />
      28:         
      29:     </mx:HBox>
      30:     
      31:     <mx:HBox width="100%" height="100%">
      32:         
      33:         <mx:FileSystemTree id="fileTree" width="300" height="400" directory="{FileSystemTree.COMPUTER}" />
      34:         
      35:         <mx:FileSystemDataGrid id="fileGrid" width="100%" height="100%" directory="{File.desktopDirectory}" />
      36:         
      37:     </mx:HBox>
      38:     
      39:     
      40:     
      41: </mx:WindowedApplication>

    还有一个对文件操作的常用操作:

    1)、浏览文件,打开一个对话框,选择一个或多个文件;

    image

       1: private var file:File = new File();
       2: private var fileFilter:FileFilter = new FileFilter("Text", "*.txt; *.html; *.xml");
       3: private var imgFilter:FileFilter = new FileFilter("图片", "*.jpg; *.png; *.jpeg");
       4:  
       5: private function inited():void
       6: {
       7:       file.addEventListener(Event.SELECT, onSelectHandler);
       8:     file.addEventListener(Event.CANCEL, onCancelHandler);
       9:     file.addEventListener(FileListEvent.SELECT_MULTIPLE, onSelectMultipleHandler);
      10:     
      11:       file.browseForOpen("Open File", [fileFilter, imgFilter]);    
      12:     file.browseForOpenMultiple("Open File", [fileFilter, imgFilter]);    
      13: }
      14:  
      15: private function onSelectHandler(evt:Event):void
      16: {
      17:     
      18: }
      19:  
      20: private function onCancelHandler(evt:Event):void
      21: {
      22:     
      23: }
      24:  
      25: private function onSelectMultipleHandler(evt:FileEvent):void
      26: {
      27:     
      28: }

    2)、保存文件

    image

    image 

       1: private function inited():void
       2: {
       3:     file = File.desktopDirectory;
       4:     file.browseForSave("另存为");
       5:     
       6:     file.addEventListener(Event.SELECT, onSelectHandler);
       7: }
       8:  
       9: private function onSelectHandler(evt:Event):void
      10: {
      11:     var file:File = evt.target as File;
      12:     var stream:FileStream = new FileStream();
      13:     
      14:     stream.open(file, FileMode.WRITE);
      15:     stream.writeUTFBytes("Hello AIR");
      16:     stream.close();
      17: }

    3)、其它应用程序的技巧,例如:让应用程序始终“保持在其它窗口的顶部”(alwaysInFront=true)、应用程序在任务栏中,它的右击菜单、顶部的状态栏操作等

  • 相关阅读:
    [LeetCode] 1103. Distribute Candies to People 分糖果
    [LeetCode] 994. Rotting Oranges 腐烂的橘子
    [LeetCode] 面试题 10.01.合并排序的数组
    [LeetCode] 207. Course Schedule 课程表
    Windows下利用virtualenvwrapper指定python版本创建虚拟环境
    Vagrant Ansible Playbook 安装一群虚拟机
    selenium grid的使用与配置
    selenium之 玩转鼠标键盘操作(ActionChains)
    Python3.7 dataclass 介绍
    简单的验证码识别
  • 原文地址:https://www.cnblogs.com/meteoric_cry/p/2433982.html
Copyright © 2020-2023  润新知