Flex - 确定在Dialog中单击了哪个按钮

时间:2012-02-26 22:31:54

标签: flex events dialog

我正在使用browseForSave()让用户有机会在导航回到上一个屏幕之前保存文件。截至目前,保存对话框上的取消按钮仅关闭保存对话框。我想查看是否单击了取消按钮,如果是,则继续导航回上一屏幕而不保存。此时此人必须保存文件才能返回。以下是我正在使用的代码。

public function save(e:MouseEvent):void{
            if (currentFile) {
            if (stream != null) 
            {
                stream.close();
            }
            stream = new FileStream();
            stream.openAsync(currentFile, FileMode.WRITE);
            stream.addEventListener(IOErrorEvent.IO_ERROR, writeIOErrorHandler);
            var str:String = mainTextField.text;
            str = str.replace(/\r/g, "\n");
            str = str.replace(/\n/g, File.lineEnding);
            stream.writeUTFBytes(str);
            stream.close();
            dataChanged = false;
        } 
        else
        {
            saveAs(null);
        }
        }

        private function saveAs(event:MouseEvent):void 
        {
            var fileChooser:File;
            if (currentFile)
            {
                fileChooser = currentFile;
            }
            else
            {
                fileChooser = File.documentsDirectory.resolvePath('untitled.html')
            }
            fileChooser.browseForSave("Save As");
            fileChooser.addEventListener(Event.SELECT, saveAsFileSelected);
        }

1 个答案:

答案 0 :(得分:1)

如果是AIR,您可以收听'取消'事件。如果没有,我认为你不能。