`
colorlife
  • 浏览: 130445 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

用Swing做的文件选择器

阅读更多

Swing做的文件选择器

文章分类:Java编程 关键字: swing及事件处理
把我曾经遇到的一些问题跟大家分享下。好多问题教材上找不到答案,当时花费了好多时间,有些是网上查了好久查到的,有些是自己试了好久才明白的。

1)不管屏幕大小,始终把界面显示到屏幕固定比例的位置

2)文件选择器的使用,Java API上讲的太少了,就一个如何使文件选择器显示出来都困扰我很久,不知道大家刚接触时是否有同感。

3)事件处理怎么判断是哪个控件触发了事件。

4)选项卡的使用

5)滚动条的加入

6)鼠标左右键的区分

      (5)和(6)的问题本程序中不包含。以后补上。

      程序涉及内容包含选项卡布局,文件选择器及一些控件,还包含最简单的事件处理。抛砖引玉,希望对刚学swing及事件驱动的人有所帮助。

Java代码 
  1. import java.io.*;  
  2. import java.awt.*;  
  3. import javax.swing.*;  
  4. import java.awt.event.*;  
  5. public class YFileChooser implements ActionListener{  
  6.     JFrame frame=new JFrame("文件选择器实例");  
  7.     JTabbedPane tabPane=new JTabbedPane();//选项卡布局  
  8.     Container con=new Container();//布局1  
  9.     Container con1=new Container();//布局2  
  10.     JLabel label1=new JLabel("选择目录");  
  11.     JLabel label2=new JLabel("选择文件");  
  12.     JTextField text1=new JTextField();  
  13.     JTextField text2=new JTextField();  
  14.     JButton button1=new JButton("...");  
  15.     JButton button2=new JButton("...");  
  16.     JFileChooser jfc=new JFileChooser();//文件选择器  
  17.     YFileChooser(){  
  18.         jfc.setCurrentDirectory(new File("d:\\"));//文件选择器的初始目录定为d盘  
  19.         //下面两行是取得屏幕的高度和宽度  
  20.         double lx=Toolkit.getDefaultToolkit().getScreenSize().getWidth();  
  21.         double ly=Toolkit.getDefaultToolkit().getScreenSize().getHeight();  
  22.         frame.setLocation(new Point((int)(lx/2)-150,(int)(ly/2)-150));//设定窗口出现位置  
  23.         frame.setSize(300,150);//设定窗口大小  
  24.         frame.setContentPane(tabPane);//设置布局  
  25.        //下面设定标签等的出现位置和高宽  
  26.         label1.setBounds(10,10,70,20);  
  27.         label2.setBounds(10,30,100,20);  
  28.         text1.setBounds(80,10,120,20);  
  29.         text2.setBounds(80,30,120,20);  
  30.         button1.setBounds(210,10,50,20);  
  31.         button2.setBounds(210,30,50,20);  
  32.           
  33.         button1.addActionListener(this);//添加事件处理  
  34.         button2.addActionListener(this);//添加事件处理  
  35.         con.add(label1);  
  36.         con.add(label2);  
  37.         con.add(text1);  
  38.         con.add(text2);  
  39.         con.add(button1);  
  40.         con.add(button2);  
  41.         con.add(jfc);  
  42.         tabPane.add("目录/文件选择",con);//添加布局1  
  43.         tabPane.add("暂无内容",con1);//添加布局2  
  44.         frame.setVisible(true);//窗口可见  
  45.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使能关闭窗口,结束程序  
  46.     }                               
  47.     public void actionPerformed(ActionEvent e){//事件处理  
  48.         if(e.getSource().equals(button1)){//判断触发方法的按钮是哪个  
  49.             jfc.setFileSelectionMode(1);//设定只能选择到文件夹  
  50.             int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句  
  51.             if(state==1){  
  52.                 return;//撤销则返回  
  53.             }  
  54.             else{  
  55.                 File f=jfc.getSelectedFile();//f为选择到的目录  
  56.                 text1.setText(f.getAbsolutePath());  
  57.             }  
  58.         }  
  59.         if(e.getSource().equals(button2)){  
  60.             jfc.setFileSelectionMode(0);//设定只能选择到文件  
  61.             int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句  
  62.             if(state==1){  
  63.                 return;//撤销则返回  
  64.             }  
  65.             else{  
  66.                 File f=jfc.getSelectedFile();//f为选择到的文件  
  67.                 text2.setText(f.getAbsolutePath());  
  68.             }  
  69.         }  
  70.     }  
  71.     public static void main(String[] args) {  
  72.         new YFileChooser();  
  73.   
  74.     }  
  75.   
  76. }  

 

 

分享到:
评论
1 楼 v1v1wang 2011-11-01  
其实你可以用netbeans来做界面布局!

相关推荐

    Java Swing 文件选择器

    用Java Swing 写的一个文件选择器小例子

    Java Swing组件文件选择器JFileChooser简单用法示例

    主要介绍了Java Swing组件文件选择器JFileChooser简单用法,结合实例形式分析了Swing组件中的文件选择器JFileChooser的简单使用方法,需要的朋友可以参考下

    swing打开文件选择器JFileChooser

    NULL 博文链接:https://happyqing.iteye.com/blog/2063990

    java文件选择器

    java swing的选择器 我不要资源分 要是好的话 希望大家给个好评价哦

    文档选择器

    文档选择器

    Swing组件下载(常用组件)

    Swing组件(javax.swing.-) 面板:JPanel 标签化窗格:JTabbedPane 拆分窗格:JSplitPane 滚动窗格:JScrollPane ...文件选择器:JFileChooser 选项窗格:JOptionPane 补充: 状态栏:StatusBar

    java swing-FileNameExtensionFilter的使用

    FileNameExtensionFilter 是 Java Swing 中的一个类,用于过滤文件选择器中显示的文件。 通常情况下,文件选择器可以显示所有类型的文件。但有时我们希望限制只显示特定类型的文件,这时就可以使用 ...

    pdmHelper图片 swing做的代码生成器

    可以打开powerDesigner建立的pdm文件,并且可以导出表结构、sql,也可以操作数据库;还可以根据模板生成和语言无关的po、bo、dao层代码。目前有JAVA、C#2中语言。并且有详细的说明文档。 该工具是powerDesigner助手...

    javaSwing高级篇

    本资源包含: 48调色板 49写字板(一) 50写字板(二) 51拷贝粘贴图片(一) 52拷贝粘贴图片(二) 53文件阅读器 54JAVA小动画 55声音播放器(应用程序中) 56声音播放器(网页中) ...58文件选择器

    《精通Java Swing程序设计》 chm

    《精通Java Swing程序设计》主要讲解在Java环境下使用Swing...在内容上讲了一些窗口和面板的使用,标签与按钮的使用、文字输入组件的使用以及对话框、菜单和工具条、文件选择、拾色器等相关知识。对Swing新手很有用。

    java完美版文件复制器

    这是一个利用java swing做的一个文件复制器,你可以根据自己的需要选择复制的文件的类型,可以自己设定文件筛选的类型。反正是一款很实用的文件复制器。。相信我没错了。 注:解压密码仍然是:you'dbest

    swing图书管理系统

    (2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。 (3)将弹出“附加数据库”对话框,在该对话框...

    filterit:一个 Java Swing 应用程序,可快速轻松地过滤文件

    支持的文件类型: .docx .xlsx .pdf 每个其他文件都作为文本文件打开如何使用: 下载并启动该软件选择要过滤的所有文件,然后按“继续” 输入过滤规则(如果需要,应打印命中前后的文件数量)并应用它们“继续”查看...

    xls文件读写--图形界面---Swing

    通过图形界面的文件选择器,选择文件xls文件进行操作,在打印工资条上很有帮助

    swing界面设计之JTree

    (十九) 向 Java 应用程序伸出援助之手——用 JavaHelp 2.0 构建下一个 Java 应用程序的帮助系统 115 入门 116 使用 HelpSet 117 HelpSet 数据文件 118 helpset 文件 118 maps 部分 119 view 部分 119 presentation ...

    swing 酒店管理系统源码

    (4)在“对象资源管理器”中右键单击“数据库”节点,在弹出的菜单中选择“附加”项,弹出“附加数据库”对话框,如图1.2所示。 图1.2 附加数据库 (5)单击【添加】按钮,在弹出的“定位数据库文件”对话框中...

    Project_SE:MP3 文件的音乐播放器 (Java Swing)

    通过文件选择器以及从资源管理器中拖放从库中添加和删除歌曲 具有创建和删除播放列表功能的播放列表树 在具有所有功能的新窗口中打开播放列表 execpt 播放列表树 通过弹出菜单以及通过拖放将歌曲添加到库中的播放...

    directory-tree:具有文件系统目录层次结构的Java Swing JTree模型

    该项目的目标是提供具有文件系统目录层次结构的Java Swing JTree模型的高效且便捷的实现(例如,用于目录选择器组件)。 提供了一个演示应用程序。 参见org.swingk.io.dirtree.demo.Demo 。 该库被打包为Java 9...

    Java实验小程序、swing界面化文件管理器,包含复制、粘贴、加密、解密、压缩、解压、删除、新建等功能.zip

    如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要...

    collaborative-beatbox:MIDI 音序器应用程序,它使用 Swing GUI 实例来收集 16 行 16 个 JCheckBox 对象的状态,每个对象代表通过使用 MIDI 事件在特定节拍上演奏的乐器

    协作 Beatbox MIDI 音序器应用程序,它使用 Swing GUI 实例来收集 16 行的 16 个 JCheckBox 对象的状态,每个对象代表通过使用 MIDI 事件在特定节拍上演奏的乐器。 JCheckBox 状态保存在一个数组中,根据选择的乐器...

Global site tag (gtag.js) - Google Analytics