gui可视化开发

package com.wzq.gui;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class MyFrame extends JFrame {

    private static final long serialVersionUID = 1L;
    static String path = null;
    static File file = null;
    public static void main(final String[] args) {

        // 画出窗口
        final JFrame frame = new MyFrame();
        frame.setLayout(null);
        frame.setTitle("myFrame");
        frame.setSize(400, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 添加按钮
        final JButton btn1 = new JButton("浏览");
        final JButton btn2 = new JButton("解析");
        btn1.setBounds(80, 70, 60, 25);
        btn2.setBounds(240, 70, 60, 25);
        btn1.setVisible(true);
        btn2.setVisible(true);
        frame.add(btn1);
        frame.add(btn2);

        // 设置字体
        final Font font = new Font("宋体", Font.BOLD, 11);
        btn1.setFont(font);
        btn2.setFont(font);

        // 添加显示框
        final JLabel label = new JLabel("路径:");
        label.setBounds(60, 20, 50, 25);
        label.setVisible(true);
        label.setFont(font);
        label.setText("码流文件");
        label.setToolTipText("124");
        frame.add(label);

        // 添加文本框
        final JTextField textField = new JTextField();
        textField.setBounds(120, 20, 190, 22);
        textField.setVisible(true);
        frame.add(textField);
        frame.setVisible(true);

        // 为按钮添加事件
        btn1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(final ActionEvent e) {
                final JFileChooser chooser = new JFileChooser();
                chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
                final int returnVal = chooser.showOpenDialog(btn1);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                     file = chooser.getSelectedFile();
                    path = file.getAbsolutePath();
                    textField.setText(path);
                }
            }
        });

        btn2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(final ActionEvent e) {
                final MyFrame myFrame = new MyFrame();
                try
                {
                    FileInputStream inputStream = new FileInputStream(file);
                    byte[] bytes = new byte[(int)file.length()];
                    inputStream.read(bytes);
                    myFrame.addInfo(new String(bytes));
                }
                catch (Exception e1)
                {
                    e1.printStackTrace();
                }
            }
        });

        // 为文本框添加事件
        textField.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(final ActionEvent e) {
                if (new File(textField.getText()).isDirectory()) {
                    path = textField.getText();
                } else {
                    final MyFrame myFrame = new MyFrame();
                    myFrame.addInfo("路径名错误");
                }

            }
        });
    }

    public void addInfo(final String string) {
        final JFrame f = new JFrame("提示");
        f.setLayout(null);
        f.setBounds(40, 40, 300, 100);
        f.setVisible(true);
        final JLabel label = new JLabel(string);
        label.setBounds(30, 20, 250, 20);
        final Font f1 = new Font("宋体", Font.BOLD, 12);
        label.setFont(f1);
        f.add(label);

    }
}

猜你喜欢

转载自blog.csdn.net/wzqllwy/article/details/82901915