您的位置:首页 > 产品设计 > UI/UE

日志二:GUI编程及文件对话框的使用

2015-07-05 17:29 513 查看

【目的】

1. 了解文件对话框的使用方法,熟悉GUI中事件驱动的核心步骤。

2. 了解GUI的图像显示的常用方式。

3. 完成实验六的内容。

【目标】

项目一:文件及选择

项目二:图片显示

项目三:实验六 图形用户界面

【方法与步骤】

1. 了解文件对话框的使用方法,熟悉GUI中事件驱动的核心步骤。

JFileChooser类中常用的构造方法:

JFileChooser() 构造一个指向用户默认目录的 JFileChooser。

JFileChooser(File currentDirectory) 使用给定的 File 作为路径来构造一个 JFileChooser。

setFileSelectionMode(int mode)设置 JFileChooser, 以允许用户只选择文件、只选择目录,或者可选择文件和目录。

mode参数:

FILES_AND_DIRECTORIES 指示显示文件和目录。

FILES_ONLY 指示仅显示文件。

DIRECTORIES_ONLY 指示仅显示目录。

showDialog(Component parent,String approveButtonText) 弹出具有自定义 approve 按钮的自定义文件选择器对话框。

showOpenDialog(Component parent) 弹出一个 "Open File" 文件选择器对话框。

showSaveDialog(Component parent) 弹出一个 "Save File" 文件选择器对话框。

setMultiSelectionEnabled(boolean b) 设置文件选择器,以允许选择多个文件。

getSelectedFiles() 如果将文件选择器设置为允许选择多个文件,则返回选中文件的列表(File[])。

getSelectedFile() 返回选中的文件。

老师介绍的一篇博文:/article/1752884.html,上面有“JFileChooser (Java Swing提供的文件选择对话框)”,的一些方法。

2. GUI事件模式驱动的步骤:

1)新建一个组件(如JButton)。

2)将该组件添加到相应的面板(如JPanel)。

3)注册监听器以监听事件源产生的事件(如通过ActionListener来响应用户点击按钮)。

4)定义处理事件的方法(如在ActionListener中的actionPerformed中定义相应方法)。

3. GUI的图像显示的常用方式

image = ImageIO.read(file); //读入图像到image

void setIcon(Icon image) //定义JLable将要显示的图标

4. 结合JFileChooser进行简单编程

老师给了我们一些代码,老师要求我们修改这些代码,实现以下功能。打开文件,实现显示下面的画面。我刚开始不理解老师的用意,一直不懂那个JFileChooser的使用,因为做“猜猜看”的游戏,需要用到这个功能,我开始研究,我就去理解了一下以下的代码,实现了打开文件,选择文件的功能。我慢慢的理解了JFileChooser选择文件,选择目录的路径要求。

【实验代码】

package com.mxl.swing;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JFileChooser;

public class JFileChooserTest {

public static final int APPROVE_OPTION = 0;
private JLabel label=new JLabel("所选文件路径");
private JTextField jtf=new JTextField(25);
private JButton button=new JButton("浏览");

public JFileChooserTest(){
JFrame jf=new JFrame("Java GUI");
JPanel panel=new JPanel();
panel.add(label);
panel.add(jtf);
panel.add(button);
jf.add(panel);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser fc=new JFileChooser("E:\\");
int val=fc.showOpenDialog(null);
//.showDialog(new JLabel(), "选择");
if(val==fc.APPROVE_OPTION){
jtf.setText(fc.getSelectedFile().toString());
}else{
jtf.setText("未选择文件");
}
}
});
}
}


【实验结果】



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: