zoukankan      html  css  js  c++  java
  • Swing实现文件选择(目录选择)附导出

    具体生成工具如图:

    (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.       
    34.     Jexample() {  
    35.         jfc.setCurrentDirectory(new File("d://"));// 文件选择器的初始目录定为d盘  
    36.           
    37.         double lx = Toolkit.getDefaultToolkit().getScreenSize().getWidth();  
    38.           
    39.         double ly = Toolkit.getDefaultToolkit().getScreenSize().getHeight();  
    40.           
    41.         frame.setLocation(new Point((int) (lx / 2) - 150, (int) (ly / 2) - 150));// 设定窗口出现位置  
    42.         frame.setSize(280200);// 设定窗口大小  
    43.         frame.setContentPane(tabPane);// 设置布局  
    44.         label1.setBounds(10107020);  
    45.         text1.setBounds(751012020);  
    46.         button1.setBounds(210105020);  
    47.         label2.setBounds(10357020);  
    48.         text2.setBounds(753512020);  
    49.         button2.setBounds(210355020);  
    50.         button3.setBounds(30606020);  
    51.         button1.addActionListener(this); // 添加事件处理  
    52.         button2.addActionListener(this); // 添加事件处理  
    53.         button3.addActionListener(this); // 添加事件处理  
    54.         con.add(label1);  
    55.         con.add(text1);  
    56.         con.add(button1);  
    57.         con.add(label2);  
    58.         con.add(text2);  
    59.         con.add(button2);  
    60.         con.add(button3);  
    61.         frame.setVisible(true);// 窗口可见  
    62.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 使能关闭窗口,结束程序  
    63.         tabPane.add("1面板", con);// 添加布局1  
    64.     }  
    65.     /** 
    66.      * 时间监听的方法 
    67.      */  
    68.     public void actionPerformed(ActionEvent e) {  
    69.         // TODO Auto-generated method stub  
    70.         if (e.getSource().equals(button1)) {// 判断触发方法的按钮是哪个  
    71.             jfc.setFileSelectionMode(1);// 设定只能选择到文件夹  
    72.             int state = jfc.showOpenDialog(null);// 此句是打开文件选择器界面的触发语句  
    73.             if (state == 1) {  
    74.                 return;  
    75.             } else {  
    76.                 File f = jfc.getSelectedFile();// f为选择到的目录  
    77.                 text1.setText(f.getAbsolutePath());  
    78.             }  
    79.         }  
    80.         // 绑定到选择文件,先择文件事件  
    81.         if (e.getSource().equals(button2)) {  
    82.             jfc.setFileSelectionMode(0);// 设定只能选择到文件  
    83.             int state = jfc.showOpenDialog(null);// 此句是打开文件选择器界面的触发语句  
    84.             if (state == 1) {  
    85.                 return;// 撤销则返回  
    86.             } else {  
    87.                 File f = jfc.getSelectedFile();// f为选择到的文件  
    88.                 text2.setText(f.getAbsolutePath());  
    89.             }  
    90.         }  
    91.         if (e.getSource().equals(button3)) {  
    92.             // 弹出对话框可以改变里面的参数具体得靠大家自己去看,时间很短  
    93.             JOptionPane.showMessageDialog(null"弹出对话框的实例,欢迎您-漆艾琳!""提示"2);  
    94.         }  
    95.     }  
    96.     public static void main(String[] args) {  
    97.         new Jexample();  
    98.     }  
    99. }  

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

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

    有兴趣的可以去下载

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

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

  • 相关阅读:
    silverlight 打印
    Silverlight 设置颜色
    JAVA开发Web Service几种框架介绍
    初始化 Gradle 工程目录(转自: 隔叶黄莺 Unmi Blog)
    正则表达式集合
    软件工程(一)
    JAVA多线程与多进程
    配置hibernate根据实体类自动建表功能(转载)
    配置DruidDataSource参考(com.alibaba.druid.pool.DruidDataSource)
    JVM内存堆布局图解分析
  • 原文地址:https://www.cnblogs.com/Mr-Rocker/p/3755153.html
Copyright © 2011-2022 走看看