具体生成工具如图:

(1)

(2)

(3)

(4)

源码 :

example.java

  1. package org.qiailin.jframe;
  2. import java.awt.Container;
  3. import java.awt.Point;
  4. import java.awt.Toolkit;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.io.File;
  8. import javax.swing.JButton;
  9. import javax.swing.JFileChooser;
  10. import javax.swing.JFrame;
  11. import javax.swing.JLabel;
  12. import javax.swing.JOptionPane;
  13. import javax.swing.JTabbedPane;
  14. import javax.swing.JTextField;
  15. /**
  16. * 因为看很多朋友在问试用临时抽时间写了个简单的案例 源码放上去,需要的可以看看,由于时间匆忙做得很粗糙 2011年1月4日23:22:31
  17. *
  18. * @author 漆艾林 QQ 172794299 邮箱 qiailing.ok@163.com
  19. *
  20. */
  21. public class Jexample implements ActionListener {
  22. JFrame frame = new JFrame("漆艾林-Example");// 框架布局
  23. JTabbedPane tabPane = new JTabbedPane();// 选项卡布局
  24. Container con = new Container();//
  25. JLabel label1 = new JLabel("文件目录");
  26. JLabel label2 = new JLabel("选择文件");
  27. JTextField text1 = new JTextField();// TextField 目录的路径
  28. JTextField text2 = new JTextField();// 文件的路径
  29. JButton button1 = new JButton("...");// 选择
  30. JButton button2 = new JButton("...");// 选择
  31. JFileChooser jfc = new JFileChooser();// 文件选择器
  32. JButton button3 = new JButton("确定");//
  33. Jexample() {
  34. jfc.setCurrentDirectory(new File("d://"));// 文件选择器的初始目录定为d盘
  35. double lx = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
  36. double ly = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
  37. frame.setLocation(new Point((int) (lx / 2) - 150, (int) (ly / 2) - 150));// 设定窗口出现位置
  38. frame.setSize(280, 200);// 设定窗口大小
  39. frame.setContentPane(tabPane);// 设置布局
  40. label1.setBounds(10, 10, 70, 20);
  41. text1.setBounds(75, 10, 120, 20);
  42. button1.setBounds(210, 10, 50, 20);
  43. label2.setBounds(10, 35, 70, 20);
  44. text2.setBounds(75, 35, 120, 20);
  45. button2.setBounds(210, 35, 50, 20);
  46. button3.setBounds(30, 60, 60, 20);
  47. button1.addActionListener(this); // 添加事件处理
  48. button2.addActionListener(this); // 添加事件处理
  49. button3.addActionListener(this); // 添加事件处理
  50. con.add(label1);
  51. con.add(text1);
  52. con.add(button1);
  53. con.add(label2);
  54. con.add(text2);
  55. con.add(button2);
  56. con.add(button3);
  57. frame.setVisible(true);// 窗口可见
  58. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 使能关闭窗口,结束程序
  59. tabPane.add("1面板", con);// 添加布局1
  60. }
  61. /**
  62. * 时间监听的方法
  63. */
  64. public void actionPerformed(ActionEvent e) {
  65. // TODO Auto-generated method stub
  66. if (e.getSource().equals(button1)) {// 判断触发方法的按钮是哪个
  67. jfc.setFileSelectionMode(1);// 设定只能选择到文件夹
  68. int state = jfc.showOpenDialog(null);// 此句是打开文件选择器界面的触发语句
  69. if (state == 1) {
  70. return;
  71. } else {
  72. File f = jfc.getSelectedFile();// f为选择到的目录
  73. text1.setText(f.getAbsolutePath());
  74. }
  75. }
  76. // 绑定到选择文件,先择文件事件
  77. if (e.getSource().equals(button2)) {
  78. jfc.setFileSelectionMode(0);// 设定只能选择到文件
  79. int state = jfc.showOpenDialog(null);// 此句是打开文件选择器界面的触发语句
  80. if (state == 1) {
  81. return;// 撤销则返回
  82. } else {
  83. File f = jfc.getSelectedFile();// f为选择到的文件
  84. text2.setText(f.getAbsolutePath());
  85. }
  86. }
  87. if (e.getSource().equals(button3)) {
  88. // 弹出对话框可以改变里面的参数具体得靠大家自己去看,时间很短
  89. JOptionPane.showMessageDialog(null, "弹出对话框的实例,欢迎您-漆艾琳!", "提示", 2);
  90. }
  91. }
  92. public static void main(String[] args) {
  93. new Jexample();
  94. }
  95. }

这一步注意选择main方法的类

简单的导出就OK了,打包可以用ant 以及maven ,当然这里就不介绍了 有兴趣的可以去看看

有兴趣的可以去下载

当然如果还有朋友想让你的jar文件脱离Java的坏境,可以生成exe的文件在这里可以使用exe4j

当然这里exe4j相信大家都会用吧 不会用的话 可以去谷歌。

Swing实现文件选择(目录选择)附导出的更多相关文章

  1. winform弹出文件和目录选择框

    目录选择: FolderBrowserDialog dialog = new FolderBrowserDialog(); dialog.Description = "请选择文件路径&quo ...

  2. windows目录选择 文件选择 文件保存对话框

    打开文件对话框 const char pszFilter[] = _T("EXE File (*.txt)|*.txt|All Files (*.*)|*.*||"); CFile ...

  3. C# winform 窗体弹出选择目录或文件 的对话框

    //弹出一个选择目录的对话框 privatevoid btnSelectPath_Click(object sender, EventArgs e) //弹出一个选择目录的对话框 { FolderBr ...

  4. 如何在VBS脚本中显示“选择文件对话框”或“选择目录对话框”

    .选择文件[XP操作系统,不能用于Win2000或98],使用“UserAccounts.CommonDialog”对象向用户显示一个标准的“文件打开”对话框 Set objDialog = Crea ...

  5. MFC拖拽、选择目录、遍历文件

    1.选择目录 void CDecryptFileDlg::OnBnClickedSel() { std::wstring selectedDir; WCHAR szDir[MAX_PATH]; Zer ...

  6. java 弹出选择目录框(选择文件夹),获取选择的文件夹路径

    java 弹出选择目录框(选择文件夹),获取选择的文件夹路径 java 弹出选择目录框(选择文件夹),获取选择的文件夹路径:int result = 0;File file = null;String ...

  7. Winform选择目录路径与选择文件路径

    https://blog.csdn.net/zaocha321/article/details/52528279 using System.Collections.Generic; using Sys ...

  8. WPF 获取文件夹路径,目录路径,复制文件,选择下载文件夹/目录

    private void Border_MouseLeftButtonUp_4(object sender, MouseButtonEventArgs e) { //获取项目中文件 , System. ...

  9. [MFC]选择目录对话框和选择文件对话框

    在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法: 选择目录对话框 //选择目录按钮void CDcPackerDlg::OnBnClickedDec ...

  10. [MFC]选择目录对话框和选择文件对话框 [转]

      在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法: 选择目录对话框 {    char szPath[MAX_PATH];     //存放选择的 ...

随机推荐

  1. Java设计模式(学习整理)---策略模式

       1. 模式定义         把会变化的内容取出并封装起来,以便以后可以轻易地改动或扩充部分,而不影响不需要变化的其他部分: 2.模式本质:  少用继承,多用组合,简单地说就是:固定不变的信息 ...

  2. 将日期和时间作为 struct tm型的值直接向二进制文件进行读写

    #include <stdio.h> #include <time.h> char data_file[]="D:\\%\\datetime.dat"; v ...

  3. Cocos2dx开发(2)——Win8.1下Cocod2dx 3.2环境搭建

    正式开始搭建cocos2dx环境,回到熟悉的VS 1.Python安装配置 这一步很简单,下载Python2.7.3,笔者直接用软件助手直接下载安装,最后配置环境变量 如下成功 2.cocos2dx ...

  4. wordpress通过代码禁用IE8, IE9,IE10等IE浏览器兼容视图模式(Compatibility View)

    目前wordpress主流主题大多都放弃了对IE6的支持!甚至IE6,IE7,IE8等的兼容模式也不支持!目前特别是国内的双核浏览器大多数使用使用IE内核都是使用的兼容模式!那将是非常糟糕!如何让IE ...

  5. yum安装ftp服务器

    1.安装vsftp,本文采用yum安装: #yum install vsftpd 2.安装后运行: # service vsftpd restart Shutting downvsftpd:      ...

  6. Bootstrap_Javascript_提示框

    一. 结构分析 在Bootstrap框架中的提示框,结构非常简单,常常使用的是按钮<button>标签或者链接<a>标签来制作.不管是使用按钮还是链接来制作提示框,他们都有一个 ...

  7. Python 的“+”和append在添加字符串时候的区别

    对于一个空的Python列表,往后添加内容有很多种,其中两种一个是用“+”直接添加内容,另外一种是Listname.append(x)来添加内容 其中,如果处理字符串 在使用“+”的时候,会将字符串拆 ...

  8. B题 - A+B for Input-Output Practice (I)

      Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description You ...

  9. 修改app名字

    一张图说明问题 如果没有成功clean一下,或者卸载掉原有的重新生成一下 如果要修改路径名和工程名有个复杂的方法 http://blog.sina.com.cn/s/blog_a42013280101 ...

  10. js两个时间相减

    平常总会遇到需要算两个日期之间是多少天,以下是使用JavaScript算时间差多少天的: // 给日期类对象添加日期差方法,返回日期与diff参数日期的时间差,单位为天 Date.prototype. ...