Java图形化界面---

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

一、JColorChooser

1JColorChooser的介绍

2)JColorChooser案列

二、JFileChooser

1JFileChooser的介绍

2JFileChooser使用步骤

3JFileChooser案例 


Swing提供了JColorChooser和JFileChooser这两种对话框可以很方便的完成颜色的选择和本地文件的选择。

一、JColorChooser

1JColorChooser的介绍

JColorChooser用于创建颜色选择器对话框该类的用法非常简单
只需要调用它的静态方法就可以快速生成一个颜色选择对话框
public static Color showDialog(Compoment c,String t,Color c)
 c:指定当前对话框的父组件
 t:当前对话框的名称
 c:指定默认选中的颜色

2)JColorChooser案列

 案列制作如图界面

 

public class exer1 {
    JFrame s=new JFrame("练习");
    JTextArea text=new JTextArea(10,40);
    //声明按钮
    JButton b=new JButton(new AbstractAction("改变文本框颜色") {
        @Override
        public void actionPerformed(ActionEvent e) {
            Color res=JColorChooser.showDialog(s,"颜色选择器",Color.white);
            //修改文本框背景
            text.setBackground(res);
        }
    });
    public void init(){
       //组装
        s.add(b,BorderLayout.SOUTH);
        s.add(text);

        s.pack();
        s.setDefaultCloseOperation(3);
        s.setVisible(true);
    }
}

二、JFileChooser

1JFileChooser的介绍

前面我们在AWT编=编程中学到了FileDialogJFileChooser与FileDialog基本相似也是用于打开文件保存文件对话框。但是JFileChooser无须依赖于本地平台的GUI它是100%纯Java实现在所有平台上具有完全相同的行为并可以在所有平台上具有相同的外观风格。

2JFileChooser使用步骤

JFileChooser使用步骤
1创建JFileChooser对象
JFileChooser chooser=new JFileChooser("D:\\a");//指定默认打开的本地磁盘路径

2调用方法进行初始化
setSelectedFile(File file);                设定默认选中的文件
setMultiSelectionEnabled(boolean b)        设置是否允许多选默认是单选
setFileSelectionMode(int mode)             设置可以选择内容例如文件文件夹等默认只能选择文件

3打开文件对话框
showOpenDialog(Component parent);          打开文件加载对话框并指定父组件
showSaveDialog(Component parent);          打开文件保存对话框并指定父组件
4获取用户选择的结果
File getSelectedFile()                     获取用户选择的一个文件
File[] getSelectedFiles()                  获取用户选择的多个文件

3JFileChooser案例 

制作如图所示的界面点击打开选择文件则图片可以在空白区域展现点击另存为可使得已打开文件保存

public class exer1 {

    JFrame s=new JFrame("练习");
    BufferedImage image;
    JMenuBar menuBar=new JMenuBar();
    JMenu wenjian=new JMenu("文件");
    class mydraw extends JPanel{
        @Override
        public void paint(Graphics g) {
            g.drawImage(image,0,0,null);

        }
    }
    mydraw drawarea=new mydraw();
    JMenuItem open=new JMenuItem(new AbstractAction("打开") {
        @Override
        public void actionPerformed(ActionEvent e) {
            //显示一个文件选择器
            JFileChooser fileChooser=new JFileChooser("C:\\");
            fileChooser.showOpenDialog(s);

            //获取用户选择的文件
            File file=fileChooser.getSelectedFile();

            try {
                image=ImageIO.read(file);
                drawarea.repaint();
            } catch (IOException ioException) {
                ioException.printStackTrace();
            }
        }
    });
    //另存为
    JMenuItem save=new JMenuItem(new AbstractAction("另存为") {
        @Override
        public void actionPerformed(ActionEvent e) {
            //显示文本选择器
            JFileChooser chooser=new JFileChooser("C:\\");
            chooser.showSaveDialog(s);
            //获取用户选择的文件的保存的文件路径
            File file=chooser.getSelectedFile();
            //注意是将已经打开的文件保存
            try {
                ImageIO.write(image,"jpeg",file);
            } catch (IOException ioException) {
                ioException.printStackTrace();
            }
        }
    });
    public void init(){
        wenjian.add(open);
        wenjian.add(save);
        menuBar.add(wenjian);
        s.setJMenuBar(menuBar);
        //添加画布别忘了
        drawarea.setPreferredSize(new Dimension(700,600));
        s.add(drawarea);
        s.setDefaultCloseOperation(3);
        s.pack();
        s.setVisible(true);

    }
}

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java