文件选择器
文件选择器JFileChooser是常用的类,用于打开,保存文件,常用的构造方法如下:
构造方法名 方法意义 |
JFileChooser() 创建一个用户默认目录的文件选择器 |
JFileChooser(File currentDirectory) 使用指定的File作为路径来构造一个文件选择器 |
JFileChooser(String currentDirectoryPath) 创建一个使用指定路径的文件选择器 |
public void showSaveDialog(Component parent) : 弹出保存文件的选择器对话框
public void showOpenDialog(Component parent) : 弹出打开文件的选择器对话框
public File getSelecedFile() : 获取选中的文件
public File[] getSelectedFiles() : 获取多个选中文件的列表,需要将文件选择器设置为多选
public File getCurrentDirectory() : 获取当前目录
public void setCurrentDirectory() : 设置当前目录
public void setDialogTitle(String dialogTitle) : 设置显示在文件选择器窗口标题栏的字符串
public void setMultiSelectionEnabled(boolean b) : 设置可选择多个文件
注意:
filechooser.addChoosableFileFilter(new FileNameExtensionFilter("JPEG图片文件","jpg","jpeg"));
filechooser.addChoosableFileFilter(new FileNameExtensionFilter("GIF图片文件","gif","GIF"));
FileNameExtensionFilter是文件过滤器,此样例中只能显示jpeg,gif样式
颜色选择器
颜色选择器即javax.swing.JcolorChooser类,可以作为单独的对话框使用,也可以作为组件放置在任何的容器中,他使得开发含有颜色选择器的界面变得简单
JColorChooser的构造方法如下:
public JColorChooser() : 创建初始颜色为白色的颜色选择器
public JColorChooser(Color initialColor) : 创建具有指定初始颜色的颜色选择器
JColorChooser 类常用的方法
public Color getColor() : 获取颜色选择器的当前颜色值
public void setColor(int c) : 指定颜色选择器的当前颜色
public void setColor(int r,nt g,int b) : 指定颜色选择器的当前颜色(RGB)
代码实例:
package ch10;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
public class ColorChooserTest extends JFrame implements ActionListener
{
JPanel jp = new JPanel();
JButton color = new JButton("单击我设置标签的颜色");
JButton open = new JButton("单击我可以打开文件");
private JButton[] jbuttonArray = new JButton[]{color,open};
JLabel jl = new JLabel("单击上面的两个按钮,设置这里的文本颜色或打开文件");
JFileChooser filechooser = new JFileChooser("g:\\");
public ColorChooserTest()
{
for(int i=0;i<jbuttonArray.length;i++)
{
jp.add(jbuttonArray[i]);
jbuttonArray[i].addActionListener(this);
}
this.add(jl,BorderLayout.SOUTH);
this.add(jp);
filechooser.removeChoosableFileFilter(filechooser.getChoosableFileFilters()[0]);//对文件选择器初始化,并且删除原来的文件选择器
filechooser.addChoosableFileFilter(new FileNameExtensionFilter("JPEG图片文件","jpg","jpeg"));
filechooser.addChoosableFileFilter(new FileNameExtensionFilter("GIF图片文件","gif","GIF"));
//FileNameExtensionFilter文件过滤器,此样例中只能显示jpg,gif样式
this.setTitle("文件和颜色选择");
this.setBounds(200,200,400,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent a)
{
if(a.getSource()==jbuttonArray[0])
{
Color r = JColorChooser.showDialog(this, "选择想要的颜色", Color.cyan);//弹出颜色选择对话框
jl.setText("文字的颜色变为您选择的颜色");
jl.setForeground(r);
}
else if(a.getSource()==jbuttonArray[1])
{
filechooser.showOpenDialog(this);//弹出打开文件对话框
jl.setText("您选择 打开了文件选择器");
}
}
public static void main(String args[])
{
new ColorChooserTest();
}
}