• java的gui编程示例


    对话框

    package com.sly.uploadfile.base;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.Serializable;
    
    /**
     * Created by admin on 2020/6/27.
     */
    public class MainFrame extends JFrame implements ActionListener, Serializable {
    
        public static void main(String[] args) {
            MainFrame mainFrame = new MainFrame();
        }
    
        private static final long serialVersionUID = 6126254268960773408L;
        private TextArea textArea;
        private JButton btnOK;
        private JButton btnCancel;
        private JMenuItem miOpen;
        private JMenuItem miExit;
    
    
        public MainFrame() {
            initFrame();
            this.setVisible(true);
        }
    
        /**
         * 初始化布局
         */
        private void initFrame() {
            // 标题
            this.setTitle("主窗口");
            // 边界
            this.setBounds(100, 100, 850, 700);
            // 绝对布局
            this.setLayout(null);
            Font font = new Font("微软雅黑", Font.PLAIN, 15);
    
            // 将文本域添加到滚动面板中
            textArea = new TextArea();
            textArea.setFont(font);
    
            // 滚动面板
            JScrollPane pane = new JScrollPane(textArea);
            pane.setBounds(0, 0, 800, 500);
            this.add(pane);
    
            btnOK = new JButton("保存");
            btnOK.setBounds(600, 510, 100, 50);
            btnOK.setFont(font);
            btnOK.addActionListener(this);
            this.add(btnOK);
    
            btnCancel = new JButton("取消");
            btnCancel.setBounds(710, 510, 100, 50);
            btnCancel.setFont(font);
            btnCancel.addActionListener(this);
            this.add(btnCancel);
    
            // 添加窗口事件处理程序,使用适配器
            this.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    System.exit(-1);
                }
            });
    
            // 添加菜单栏
            JMenuBar menuBar = new JMenuBar();
            // 添加菜单
            JMenu menu = new JMenu("文件");
    
            miOpen = new JMenuItem("打开");
            miOpen.addActionListener(this);
            // 添加菜单项
            menu.add(miOpen);
    
            //分隔符
            menu.addSeparator();
    
            miExit = new JMenuItem("推出");
            miExit.addActionListener(this);
            menu.add(miExit);
    
            menuBar.add(menu);
            this.setJMenuBar(menuBar);
    
        }
    
        public void actionPerformed(ActionEvent e) {
            Object es = e.getSource();
            // 保存文件
            if (es == btnOK) {
                try {
                    // 打开保存对话框,定位保存文件的位置
                    FileDialog d = new FileDialog(this, "保存", FileDialog.SAVE);
                    d.setVisible(true);
    
                    File f = new File(d.getDirectory(), d.getFile());
    
                    String str = textArea.getText();
                    FileWriter writer = new FileWriter(f);
                    writer.write(str);
                    writer.close();
                    textArea.setText(null);
    
                } catch (Exception e1) {
                    e1.printStackTrace();
                }
    
            } else if (es == btnCancel) {
                // 取消
                this.dispose();
    
            } else if (es == miOpen) {
                // 是否是菜单项
                FileDialog d = new FileDialog(this, "打开", FileDialog.LOAD);
                d.setVisible(true);
                String dir = d.getDirectory();
                String f = d.getFile();
                if (dir != null && f != null) {
                    try {
                        textArea.setText(null);
                        FileReader reader = new FileReader(new File(dir, f));
                        char[] buffer = new char[1024];
                        int len = -1;
                        while ((len = reader.read(buffer)) != -1) {
                            textArea.setText(textArea.getText() + new String(buffer, 0, len));
    
                        }
                        reader.close();
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                }
            } else if (es == miExit) {
                // 退出
                System.exit(-1);
            }
        }
    }
  • 相关阅读:
    terminal下历史命令自动完成功能history auto complete
    Shell中while循环的done 后接一个重定向<
    python 链接hive
    shell 学习基地
    c++ 获取本地ip地址
    c++ 如何实现,readonly
    c++ 语法
    c++ 信号量
    vim插件介绍
    c++ memset 函数 及 坑
  • 原文地址:https://www.cnblogs.com/fmgao-technology/p/13197810.html
Copyright © 2020-2023  润新知