我想判断,FileDialog返回的是取消,还是确定...应该怎么判断是点了取消呢?
看清楚,,我不要javax.swing中的那个...
点取消,返回getfile()是null,但是点了确定,如果不输入文件名字,返回也一样是null,我就在这里实现不了.我要判断是点了取消,还是点了确定呢??请大家帮忙,,谢谢!!

解决方案 »

  1.   

    public void setFile(String file)    将此文件对话框窗口的选定文件设置为指定文件。如果这么设置,那么在文件对话框窗口第一次显示之前,此文件就成为默认文件。    指定 "" 作为文件,完全等同于指定 null 作为文件。 设置一个默认的文件
      

  2.   

    可是如果那样设置,,在保存文件的时候,,我把你默认的文件名字删除了,就不是判断了...
    我的意思是,,不管你在文件名字那里,无论输入什么,还是什么都不输入,,都要判断得出来!!!!
    public void setFile(String file)设置的默认文件名,,在FileDialog框的文件名那里是显示出来的,用户可以删除的..
      

  3.   

    我想了个办法,,这样实现的!!!
    如果点了取消,,那么public String getDirectory() 返回是null,public String getFile()也返回是null,,那么只要这2个返回的都是null,就判断点了取消;;;;如果点了确定,而文件名输入为空(即什么都没输入!),public String getDirectory() 返回是路径(不为null),public String getFile()返回为null,那么只要
    public String getDirectory() 返回为不为null\public String getFile()返回为null,就可以判断用户是点了确定,而且在文件名那里没输入任何字符.如果2个返回都不为null,那么即点了确定,又输入了文件名!!!想这个问题,搞的我晚上出去吃饭的时候,都在转着它!!吃完饭回来,终于给我憋出来了......
    我想也有遇到我这样问题的同学吧,,在这里我把自己解决方法分享出来!!!!
    希望看了的,,有什么更好的方法,也发表出来,,我们一起分享...好为我们以后出到社会找工作铺上更好的道路!
    也好更好的打造出中国编程人才!!!
      

  4.   

    看这个例子。楼主这时候应该查查 JDK 文档。
    /**
     * 单击菜单项保存文件
     */
    public class TestSaveToFileMenu {    // 程序入口
        public static void main(String[] args) {
            new SaveToFileFrame().setVisible(true);
        }
    }// 包含了保存文件菜单的窗体
    class SaveToFileFrame extends JFrame {    // 保存文件对话框
        private JFileChooser dialog = new JFileChooser();    private JFrame thisFrame = this;    // 菜单事件侦听器。重点看这里。
        private ActionListener saveActionListener = new ActionListener() {        public void actionPerformed(ActionEvent e) {            if (dialog.showSaveDialog(thisFrame) == JFileChooser.APPROVE_OPTION) {
                    try {
                        // saveToFile 方法在最后面定义了
                        saveToFile(dialog.getSelectedFile());
                        thisFrame.setTitle("文件保存完毕。");
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
            }
        };    // 构造方法
        SaveToFileFrame() throws HeadlessException {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setSize(300, 100);
            setLocation(200, 100);        add(createMenuBar(), BorderLayout.NORTH);
        }    // 创建菜单项
        private JMenuBar createMenuBar() {
            JMenuBar bar = new JMenuBar();
            JMenu fileMenu = new JMenu("文件");
            JMenuItem menuItem = new JMenuItem("保存为...");
            menuItem.addActionListener(saveActionListener);
            fileMenu.add(menuItem);
            bar.add(fileMenu);
            return bar;
        }    // 将一段文本保存在指定的文件中
        private void saveToFile(File file) throws IOException {
            if (!file.exists()) {
                file.createNewFile();
                PrintWriter writer = new PrintWriter(file);
                writer.println("您选择了把文件保存在这里:" + file.getAbsolutePath());
                writer.close();
            }
        }
    }
      

  5.   

    楼主所说的,JDK并没有提供相应的方法。
    只能靠自己的程序来判断,就像你说的那样,Directory和File都是null不明白你为什么不用swing来写程序
    那可是比awt要强大的多啊