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

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

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()

    }

}

不用谢~请叫我雷锋

更改一下外观为windows的:

if(UIManager.getLookAndFeel().isSupportedLookAndFeel()){

final String platform = UIManager.getSystemLookAndFeelClassName()

// If the current Look &Feel does not match the platform Look &Feel,

// change it so it does.

if (!UIManager.getLookAndFeel().getName().equals(platform)) {

try {

UIManager.setLookAndFeel(platform)

} catch (Exception exception) {

exception.printStackTrace()

}

}

}

如果不需要文件过滤可以选择 FileDialog来打开文件,这个是调用 *** 作系统的文件筐打开文件的,但是在window下实现不了文件过滤,其他系统下可以。如果用JFileChoose可以很容易实现,文件过滤,但是界面默认是java外观。如果要好看,可以设置一下显示外观。

java d出选择目录框(选择文件夹),获取选择的文件夹路径:

int result = 0

File file = null

String path = null

JFileChooser fileChooser = new JFileChooser()

FileSystemView fsv = FileSystemView.getFileSystemView() //注意了,这里重要的一句

System.out.println(fsv.getHomeDirectory()) //得到桌面路径

fileChooser.setCurrentDirectory(fsv.getHomeDirectory())

fileChooser.setDialogTitle("请选择要上传的文件...")

fileChooser.setApproveButtonText("确定")

fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY)

result = fileChooser.showOpenDialog(chatFrame)

if (JFileChooser.APPROVE_OPTION == result) {

path=fileChooser.getSelectedFile().getPath()

System.out.println("path: "+path)

}

这是另外一种方法得到桌面路径:

File desktop = new File(System.getProperty("user.home")+System.getProperty("file.separator")+"XX")

filechooser.setCurrentDirectory(desktop)

我的文档 路径: fsv.getDefaultDirectory())

user.name 用户的账户名称

user.home 用户的主目录

user.dir 用户的当前工作目录

java.version Java 运行时环境版本

java.vendor Java 运行时环境供应商

java.vendor.url Java 供应商的 URL

java.home Java 安装目录

java.vm.specification.version Java 虚拟机规范版本

java.vm.specification.vendor Java 虚拟机规范供应商

java.vm.specification.name Java 虚拟机规范名称

java.vm.version Java 虚拟机实现版本

java.vm.vendor Java 虚拟机实现供应商

java.vm.name Java 虚拟机实现名称

java.specification.version Java 运行时环境规范版本

java.specification.vendor Java 运行时环境规范供应商

java.specification.name Java 运行时环境规范名称

java.class.version Java 类格式版本号

java.class.path Java 类路径

java.library.path 加载库时搜索的路径列表

java.io.tmpdir 默认的临时文件路径

java.compiler 要使用的 JIT 编译器的名称

java.ext.dirs 一个或多个扩展目录的路径

os.name *** 作系统的名称

os.arch *** 作系统的架构

os.version *** 作系统的版本


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8013450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存