--------------------siwuxie095

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

工程名:TestFileChooser

包名:com.siwuxie095.filechooser

类名:TestSave.java

 
 

 
 

工程结构目录如下:

 
 

 
 

 
 

 
 

 
 

代码:

 
 

package com.siwuxie095.filechooser;

 
 

import java.awt.BorderLayout;

import java.awt.EventQueue;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.io.File;

import java.io.IOException;

 
 

import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

import javax.swing.border.EmptyBorder;

 
 

import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;

 
 

/**

* JFileChooser 是 Java Swing 框架中的文件选择器,

* 在应用程序中经常会遇到打开文件和保存文件等操作,

* 文件选择器 JFileChooser 是专门应对这种情况而出现的

*

* @author siwux

*

*/

 
 

public class TestSave extends JFrame {

 
 

private JPanel contentPane;

 
 

/**

* Launch the application.

*/

public static
void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public
void run() {

try {

TestSave frame = new TestSave();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

 
 

/**

* Create the frame.

*/

public TestSave() {

 

try {

UIManager.setLookAndFeel(new WindowsLookAndFeel());

} catch (UnsupportedLookAndFeelException e) {

e.printStackTrace();

}

 

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 450, 300);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

contentPane.setLayout(new BorderLayout(0, 0));

setContentPane(contentPane);

 

JButton btnSave = new JButton("Save");

btnSave.addMouseListener(new MouseAdapter() {

@Override

public
void mouseClicked(MouseEvent e) {

//创建一个JFileChooser对象

JFileChooser chooser=new JFileChooser();

/**

* 弹出一个保存文件的对话框

* 需要指定一个
父级窗体,或指定为 null

* 返回值是 int 类型,创建以接收返回值

*/

int value=chooser.showSaveDialog(TestSave.this);

 

/**

* 如果返回 APPROVE_OPTION,也可以使用对象调用,即 chooser.APPROVE_OPTION

*

* 说明有文件被成功返回,即
成功保存文件

* 这里实际上是将一个不存在的文件包装成了一个假设存在的文件,然后将之返回

* 但该文件并没有真实的被创建,仅仅是创建了一个文件对象,并可设定路径

* 需要使用 createNewFile() 创建文件

*/

if (value==JFileChooser.APPROVE_OPTION) {

 

//打印返回文件的绝对路径

//System.out.println(chooser.getSelectedFile().getAbsolutePath());

 

try {

 

File newFile=chooser.getSelectedFile();

 

if (!newFile.exists()) {

newFile.createNewFile();

System.out.println(newFile.getAbsolutePath());

}

 

} catch (IOException e1) {

e1.printStackTrace();

}

}

 

 

 

}

});

btnSave.setFocusable(false);

contentPane.add(btnSave, BorderLayout.NORTH);

}

 
 

}

 
 

 
 

 
 

将窗体
JFrame 的 LookAndFeel 设定为 Windows

 
 

 
 

在根面板
contentPane 的上方添加一个 JButton

 
 

 
 


JButton 的 focusable 属性设为
false,并将其文本(text)改为:

Save,Rename 为:btnSave

 
 

 
 

为 JButton 添加 mouseClicked 事件,点击 按钮 弹出对话框

 
 

 
 

 
 

运行程序:

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

【made by siwuxie095】

使用JFileChooser保存文件的更多相关文章

  1. java JFileChooser选择文件和保存文件

    //文件过滤器import java.io.File; import javax.swing.filechooser.FileFilter; public class MyFilter extends ...

  2. 使用JFileChooser打开文件

    -----------------siwuxie095                                 工程名:TestFileChooser 包名:com.siwuxie095.fi ...

  3. 12.JAVA之GUI编程打开与保存文件

    功能:java图形用户界面开发,练习打开保存文件 代码如下: import java.awt.FileDialog; import java.awt.Frame; import java.awt.Me ...

  4. vim保存文件时,生成.un~文件

    在用vim保存文件时,文件夹下生成.un~文件 怎么删除这些文件呢 在网上搜索的答案: http://stackoverflow.com/questions/15660669/what-is-a-un ...

  5. android 保存文件的各种目录列表

    一般的,我们可以通过context和Environment来获取要保存文件的目录 ($rootDir) +- /data -> Environment.getDataDirectory() | ...

  6. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  7. C#项目打开/保存文件夹/指定类型文件,获取路径

    C#项目打开/保存文件夹/指定类型文件,获取路径 转:http://q1q2q363.xiaoxiang.blog.163.com/blog/static/1106963682011722424325 ...

  8. FileOutputStream保存文件

    //保存文件,根据传入的路径,存放在SD卡目录下public boolean saveToPath(String title, String pageName) { Bitmap b = getCha ...

  9. Qt snippet — 打开文件&保存文件

    打开文件: void Notepad::on_actionOpen_triggered() { QString fileName = QFileDialog::getOpenFileName(this ...

随机推荐

  1. sublime-text 键绑定

    vim 和 emacs 是牛人们的两大神器,sublime-text则是每个人的编程利器. 先说一下本人的感受,vim用了一段时间,emacs也小试了一下,两大神器尽是各种命令,另人眼花缭乱. 但是有 ...

  2. [原创]java WEB学习笔记31:会话与状态管理 session机制 概述(定义,session机制,session的声明周期,保存session的方式,Session的创建与删除)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. 20165101刘天野 2018-2019-2《网络对抗技术》Exp8 Web基础

    20165101刘天野 2018-2019-2<网络对抗技术>Exp8 Web基础 1.实验内容 1.1 Web前端HTML (1)输入命令service apache2 start启动A ...

  4. Linux LVM管理

    创建和管理LVM 要创建一个LVM系统,一般需要经过以下步骤: 1. 创建分区 fdisk /dev/sdb 使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别 ...

  5. LUM使用常规命令

    查看日志 tail -f /var/log/messages LUM使用常规命令再列出一下######------ 软件操作方法:* 关闭LUM及所有组件:lu-stop* 启动LUM及所有组件:lu ...

  6. EntityFramework 学习 一 Migration from Entity Framework 4.1/4.3 to Entity Framework 5.0/6.0

    To migrate your existing Entity Framework 4.x project to Entity Framework 5.0 using VS2012, first ta ...

  7. Spark- 优化后的 shuffle 操作原理剖析

    在spark新版本中,引入了 consolidation 机制,也就是说提出了ShuffleGroup的概念.一个 ShuffleMapTask 将数据写入 ResultTask 数量的本地文本,这个 ...

  8. 图解Skip List——本质是空间换时间的数据结构,在lucene的倒排列表,bigtable,hbase,cassandra的memtable,redis中sorted set中均用到

    Skip List的提出已有二十多年[Pugh, W. (1990)],却依旧应用广泛(Redis.LevelDB等).作为平衡树(AVL.红黑树.伸展树.树堆)的替代方案,虽然它性能不如平衡树稳定, ...

  9. IOS 实现banner循环轮播

    在项目中把banner图片UIImageView一张一张的放入UIScrollView中,通过设置UIScrollView的pagingEnabled属性为YES,则可以做到当用户滑动banner时图 ...

  10. Execl to HTML

    /************************************************************************* * Execl to HTML * 说明: * 这 ...