文件选择器
文件选择器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(); } }