⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fram.java~40~

📁 北大青鸟几次机试的试题
💻 JAVA~40~
字号:
package fly;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.SystemColor;
import java.awt.*;
import javax.swing.JLabel;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

public class Fram extends JFrame {
    DAO dao = new DAO();
    JPanel contentPane;
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JTextField jTextField1 = new JTextField();
    JTextField jTextField2 = new JTextField();
    JLabel jLabel3 = new JLabel();
    JTextField jTextField3 = new JTextField();
    JButton jButton1 = new JButton();
    JButton jButton3 = new JButton();
    JLabel jLabel4 = new JLabel();
    JOptionPane jOptionPane1 = new JOptionPane();
    public Fram() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        this.getContentPane().setBackground(SystemColor.textInactiveText);
        setSize(new Dimension(457, 181));
        setTitle("机票查询系统");
        jLabel1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
        jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel1.setText("出发城市");
        jLabel1.setBounds(new Rectangle(4, 28, 100, 28));
        jLabel2.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
        jLabel2.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel2.setText("乘客人数");
        jLabel2.setBounds(new Rectangle(14, 70, 86, 37));
        jTextField1.setBounds(new Rectangle(93, 25, 121, 28));
        jTextField2.setBounds(new Rectangle(91, 70, 121, 27));
        jLabel3.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
        jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel3.setText("目的城市");
        jLabel3.setBounds(new Rectangle(217, 26, 72, 31));
        jTextField3.setBounds(new Rectangle(290, 25, 129, 28));
        jButton1.setBounds(new Rectangle(262, 71, 64, 28));
        jButton1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
        jButton1.setText("查询");
        jButton1.addActionListener(new Fram_jButton1_actionAdapter(this));
        jButton3.setBounds(new Rectangle(340, 70, 64, 28));
        jButton3.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
        jButton3.setText("重置");
        jButton3.addActionListener(new Fram_jButton3_actionAdapter(this));
        jLabel4.setBorder(BorderFactory.createEtchedBorder());
        jLabel4.setBounds(new Rectangle(11, 10, 423, 108));
        contentPane.setBackground(UIManager.getColor("Button.shadow"));
        jOptionPane1.setBounds(new Rectangle(104, 249, 262, 90));
        contentPane.add(jLabel1);
        contentPane.add(jLabel2);
        contentPane.add(jTextField1);
        contentPane.add(jTextField2);
        contentPane.add(jLabel3);
        contentPane.add(jTextField3);
        contentPane.add(jButton1);
        contentPane.add(jButton3);
        contentPane.add(jLabel4);
        contentPane.add(jOptionPane1);
    }

    /*查询事件的监听,判断,查询*/
    public void jButton1_actionPerformed(ActionEvent e) {

        String a = this.jTextField1.getText();
        String b = this.jTextField2.getText();
        String c = this.jTextField3.getText();

        //一个判断人数的输入值是否为数字的循环
        int i;
        for (i = 0; i < b.length(); i++) {
            //判断是否为数字
            if (!Character.isDefined(b.charAt(i))) {
                System.out.println( Character.isDefined(b.charAt(i)));
                break;
            }
        }
        System.out.println(i);

        if (a.equals("") || b.equals("") || c.equals("")) {
            this.jOptionPane1.showMessageDialog(this, "信息填写不完整,无法进行查找!", "错误",
                                                JOptionPane.ERROR_MESSAGE);
        } else {
            if (i < b.length()) {
                this.jOptionPane1.showMessageDialog(this, "你输入人数的数据类型不符?(数字)");
            } else {
                bean d = new bean(); //实例一个对象
                d.setLeavecity(a);
                d.setDestination(c);
                d.setEconum(b);
                Vector v = dao.select(d); //dao为一个实例的数据库操作的全局对象

                if (v.size() == 0) {
                    this.jOptionPane1.showMessageDialog(this, "没有你要的航班,请重新查询!");
                } else {
                    String[] f = dao.verdict(d); //调用区分大小写的方法
                    if (f[0].equals(a) && f[1].equals(c)) {
                        this.jOptionPane1.showMessageDialog(this,
                                "查询出" + v.size() + "个航班" + v);
                    } else {

                        this.jOptionPane1.showMessageDialog(this,
                                "请确定你的输入是否区分大小写?",
                                "错误",
                                JOptionPane.QUESTION_MESSAGE);
                    }

                }
            }

        }
    }

    /*重置事件的监听,恢复初始界面*/
    public void jButton3_actionPerformed(ActionEvent e) {

        this.jTextField1.setText("");
        this.jTextField2.setText("");
        this.jTextField3.setText("");
    }
}


class Fram_jButton3_actionAdapter implements ActionListener {
    private Fram adaptee;
    Fram_jButton3_actionAdapter(Fram adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton3_actionPerformed(e);
    }
}


class Fram_jButton1_actionAdapter implements ActionListener {
    private Fram adaptee;
    Fram_jButton1_actionAdapter(Fram adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -