我想判断,FileDialog返回的是取消,还是确定...应该怎么判断是点了取消呢?
看清楚,,我不要javax.swing中的那个...
点取消,返回getfile()是null,但是点了确定,如果不输入文件名字,返回也一样是null,我就在这里实现不了.我要判断是点了取消,还是点了确定呢??请大家帮忙,,谢谢!!
看清楚,,我不要javax.swing中的那个...
点取消,返回getfile()是null,但是点了确定,如果不输入文件名字,返回也一样是null,我就在这里实现不了.我要判断是点了取消,还是点了确定呢??请大家帮忙,,谢谢!!
我的意思是,,不管你在文件名字那里,无论输入什么,还是什么都不输入,,都要判断得出来!!!!
public void setFile(String file)设置的默认文件名,,在FileDialog框的文件名那里是显示出来的,用户可以删除的..
如果点了取消,,那么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,那么即点了确定,又输入了文件名!!!想这个问题,搞的我晚上出去吃饭的时候,都在转着它!!吃完饭回来,终于给我憋出来了......
我想也有遇到我这样问题的同学吧,,在这里我把自己解决方法分享出来!!!!
希望看了的,,有什么更好的方法,也发表出来,,我们一起分享...好为我们以后出到社会找工作铺上更好的道路!
也好更好的打造出中国编程人才!!!
/**
* 单击菜单项保存文件
*/
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();
}
}
}
只能靠自己的程序来判断,就像你说的那样,Directory和File都是null不明白你为什么不用swing来写程序
那可是比awt要强大的多啊