急求一个简单的java 界面程序 实现一个选择本地电脑文件的功能

就是有一个界面实现了点击选择本地文件急求谢谢!!!... 就是有一个界面 实现了 点击选择本地文件 急求 谢谢!!! 展开
 我来答
小锄头andrew
推荐于2017-10-13 · TA获得超过627个赞
小锄头andrew
采纳数:224 获赞数:627

向TA提问 私信TA
展开全部
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class YFileChooser implements ActionListener{
    JFrame frame=new JFrame("文件选择器实例");
    JTabbedPane tabPane=new JTabbedPane();//选项卡布局
    Container con=new Container();//布局1
    Container con1=new Container();//布局2
    JLabel label1=new JLabel("选择目录");
    JLabel label2=new JLabel("选择文件");
    JTextField text1=new JTextField();
    JTextField text2=new JTextField();
    JButton button1=new JButton("...");
    JButton button2=new JButton("...");
    JFileChooser jfc=new JFileChooser();//文件选择器
    YFileChooser(){
        jfc.setCurrentDirectory(new File("d:\\"));//文件选择器的初始目录定为d盘
        //下面两行是取得屏幕的高度和宽度
        double lx=Toolkit.getDefaultToolkit().getScreenSize().getWidth();
        double ly=Toolkit.getDefaultToolkit().getScreenSize().getHeight();
        frame.setLocation(new Point((int)(lx/2)-150,(int)(ly/2)-150));//设定窗口出现位置
        frame.setSize(300,150);//设定窗口大小
        frame.setContentPane(tabPane);//设置布局
       //下面设定标签等的出现位置和高宽
        label1.setBounds(10,10,70,20);
        label2.setBounds(10,30,100,20);
        text1.setBounds(80,10,120,20);
        text2.setBounds(80,30,120,20);
        button1.setBounds(210,10,50,20);
        button2.setBounds(210,30,50,20);
        button1.addActionListener(this);//添加事件处理
        button2.addActionListener(this);//添加事件处理
        con.add(label1);
        con.add(label2);
        con.add(text1);
        con.add(text2);
        con.add(button1);
        con.add(button2);
        con.add(jfc);
        tabPane.add("目录/文件选择",con);//添加布局1
        tabPane.add("暂无内容",con1);//添加布局2
        frame.setVisible(true);//窗口可见
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使能关闭窗口,结束程序
    }
    public void actionPerformed(ActionEvent e){//事件处理
        if(e.getSource().equals(button1)){//判断触发方法的按钮是哪个
            jfc.setFileSelectionMode(1);//设定只能选择到文件夹
            int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句
            if(state==1){
                return;//撤销则返回
            }
            else{
                File f=jfc.getSelectedFile();//f为选择到的目录
                text1.setText(f.getAbsolutePath());
            }
        }
        if(e.getSource().equals(button2)){
            jfc.setFileSelectionMode(0);//设定只能选择到文件
            int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句
            if(state==1){
                return;//撤销则返回
            }
            else{
                File f=jfc.getSelectedFile();//f为选择到的文件
                text2.setText(f.getAbsolutePath());
            }
        }
    }
    public static void main(String[] args) {
        new YFileChooser();
    }
}

不用谢~请叫我雷锋

laobaitu0322
2014-10-16 · TA获得超过744个赞
知道小有建树答主
回答量:900
采纳率:33%
帮助的人:639万
展开全部
JFileChooser jfc=new JFileChooser(".");
int returnVal = jfc.showOpenDialog(null);
        if(returnVal == JFileChooser.APPROVE_OPTION)
        {
        //获得打开的文件
        File file = jfc.getSelectedFile();
        }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9e4a079
2014-10-16 · TA获得超过291个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:143万
展开全部
package org.leadfar;
 
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
 
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Note extends JFrame implementsActionListener, KeyListener {
 
       privateJPanel panel;
       privateFile file = null;
 
       privateJTextArea jt;
 
       publicNote() {
              init();
 
       }
 
       publicvoid init() {
              this.setSize(400,400);
              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              this.setLocation(400,400);
              panel= new JPanel();
              panel.setSize(400,400);
              panel.setLayout(newGridLayout(1, 1));
              panel.setBackground(Color.white);
              //panel.setLocation(0, 100);
 
              jt= new JTextArea();
              jt.setLineWrap(true);
              JScrollPanejsp = new JScrollPane(jt);
              jt.addKeyListener(this);
              panel.add(jsp);
 
              JMenuBarjmb = new JMenuBar();
              jmb.setLayout(newFlowLayout(FlowLayout.LEFT));
              JMenujm = new JMenu("菜单");
 
              JMenuItemjmi1 = new JMenuItem("关闭 ctrl+e");
              JMenuItemjmi2 = new JMenuItem("保存ctrl+s");
              JMenuItemjmi3 = new JMenuItem("另存为");
              JMenuItemjmi4 = new JMenuItem("打开ctrl+o");
 
              jmi1.addActionListener(this);
              jmi2.addActionListener(this);
              jmi3.addActionListener(this);
              jmi4.addActionListener(this);
 
              jm.add(jmi4);
              jm.add(jmi2);
              jm.add(jmi3);
              jm.add(jmi1);
              jmb.add(jm);
              this.setJMenuBar(jmb);
              this.add(panel);
 
              this.setVisible(true);
 
       }
 
       publicstatic void main(String[] args) {
              newNote();
       }
 
       @Override
       publicvoid actionPerformed(ActionEvent e) {
              Stringcmd = e.getActionCommand();
              if("打开ctrl+o".equals(cmd)){
                     read();
              }
              if("关闭ctrl+e".equals(cmd)) {
                     System.exit(0);
              }
              if("保存ctrl+s".equals(cmd)){
                     save();
              }
              if("另存为".equals(cmd)){
                     resave();
              }
 
       }
 
       publicvoid read() {
 
              JFileChooserjfc = new JFileChooser();
              jfc.showOpenDialog(jfc);
              file= jfc.getSelectedFile();
              try{
                     if(file != null) {
                            FileInputStreamin = new FileInputStream(file);
                            InputStreamReaderipr = new InputStreamReader(in, "GBK");
                            BufferedReaderbf = new BufferedReader(ipr);
                           
                            Stringstr = "";
                            while((str=bf.readLine()) != null) {
                                   jt.append(str);
                            }
                     }
 
              }catch (FileNotFoundException e) {
                     System.out.println("打开文件失败");
              }catch (IOException e) {
                     System.out.println("打开文件失败");
              }
 
       }
 
       publicvoid save() {
 
              if(file == null) {
                     JFileChooserjfc = new JFileChooser();
                     jfc.showSaveDialog(jfc);
                     file= jfc.getSelectedFile();
                     if(file != null) {
                            try{
                                   file.createNewFile();
                            }catch (IOException e) {
                                   //TODO Auto-generated catch block
                                   e.printStackTrace();
                            }
                     }
              }
              OutputStreamWriterout = null;
              if(file != null) {
                     try{
                            FileOutputStreamfos= new FileOutputStream(file);
                            out= new OutputStreamWriter(fos, "GBK");
             
                            out.write(jt.getText());
                            out.flush();
                            out.close();
                     }catch (IOException e) {
                            //TODO Auto-generated catch block
                            e.printStackTrace();
                     }
 
              }
       }
 
       publicvoid resave() {
 
              JFileChooserjfc = new JFileChooser();
              jfc.showSaveDialog(jfc);
              file= jfc.getSelectedFile();
              if(file != null) {
                     try{
                            file.createNewFile();
                     }catch (IOException e) {
                            //TODO Auto-generated catch block
                            e.printStackTrace();
                     }
              }
              OutputStreamWriterout = null;
              if(file != null) {
                     try{
                            FileOutputStreamfos= new FileOutputStream(file);
                            out= new OutputStreamWriter(fos, "GBK");
             
                            out.write(jt.getText());
                            out.flush();
                            out.close();
                     }catch (IOException e) {
                            //TODO Auto-generated catch block
                            e.printStackTrace();
                     }
 
              }
       }
 
       @Override
       publicvoid keyTyped(KeyEvent e) {
 
       }
 
       @Override
       publicvoid keyPressed(KeyEvent e) {
              if(e.isControlDown() && e.getKeyCode() == 83) {
                     save();
              }
       }
 
       @Override
       publicvoid keyReleased(KeyEvent e) {
              //System.out.println(e.getKeyCode());
              if(e.isControlDown() && e.getKeyCode() == 69) {
                     System.exit(0);
              }
              if(e.isControlDown() && e.getKeyCode() == 79) {
                     read();
              }
       }
 
}

这是我曾经写的一个java记事本的程序,你要的东西里边包含了,你试试看!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
subirt
2014-10-16 · TA获得超过1876个赞
知道大有可为答主
回答量:2435
采纳率:0%
帮助的人:1244万
展开全部
界面用panel,加一个按钮,点击是弹出FileDialog;ok了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心若雨初晴
2017-08-16
知道答主
回答量:1
采纳率:0%
帮助的人:957
展开全部
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class YFileChooser implements ActionListener{
    JFrame frame=new JFrame("文件选择器实例");
    JTabbedPane tabPane=new JTabbedPane();//选项卡布局
    Container con=new Container();//布局1
    Container con1=new Container();//布局2
    JLabel label1=new JLabel("选择目录");
    JLabel label2=new JLabel("选择文件");
    JTextField text1=new JTextField();
    JTextField text2=new JTextField();
    JButton button1=new JButton("...");
    JButton button2=new JButton("...");
    JFileChooser jfc=new JFileChooser();//文件选择器
    YFileChooser(){
        jfc.setCurrentDirectory(new File("d:\\"));//文件选择器的初始目录定为d盘
        //下面两行是取得屏幕的高度和宽度
        double lx=Toolkit.getDefaultToolkit().getScreenSize().getWidth();
        double ly=Toolkit.getDefaultToolkit().getScreenSize().getHeight();
        frame.setLocation(new Point((int)(lx/2)-150,(int)(ly/2)-150));//设定窗口出现位置
        frame.setSize(300,150);//设定窗口大小
        frame.setContentPane(tabPane);//设置布局
       //下面设定标签等的出现位置和高宽
        label1.setBounds(10,10,70,20);
        label2.setBounds(10,30,100,20);
        text1.setBounds(80,10,120,20);
        text2.setBounds(80,30,120,20);
        button1.setBounds(210,10,50,20);
        button2.setBounds(210,30,50,20);
        button1.addActionListener(this);//添加事件处理
        button2.addActionListener(this);//添加事件处理
        con.add(label1);
        con.add(label2);
        con.add(text1);
        con.add(text2);
        con.add(button1);
        con.add(button2);
        con.add(jfc);
        tabPane.add("目录/文件选择",con);//添加布局1
        tabPane.add("暂无内容",con1);//添加布局2
        frame.setVisible(true);//窗口可见
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使能关闭窗口,结束程序
    }
    public void actionPerformed(ActionEvent e){//事件处理
        if(e.getSource().equals(button1)){//判断触发方法的按钮是哪个
            jfc.setFileSelectionMode(1);//设定只能选择到文件夹
            int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句
            if(state==1){
                return;//撤销则返回
            }
            else{
                File f=jfc.getSelectedFile();//f为选择到的目录
                text1.setText(f.getAbsolutePath());
            }
        }
        if(e.getSource().equals(button2)){
            jfc.setFileSelectionMode(0);//设定只能选择到文件
            int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句
            if(state==1){
                return;//撤销则返回
            }
            else{
                File f=jfc.getSelectedFile();//f为选择到的文件
                text2.setText(f.getAbsolutePath());
            }
        }
    }
    public static void main(String[] args) {
        new YFileChooser();
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式