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

📄 silooutselectdialog.java~2~

📁 是适合于使用的管理系统 可以在现实中使用
💻 JAVA~2~
字号:
package mysiloer;

import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
import java.sql.ResultSetMetaData;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import javax.swing.border.Border;
import java.util.Vector;
import java.awt.event.ActionListener;

/**
 * <p>Title: MySiloer</p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: yskey</p>
 *
 * @author 杨涛
 * @version 1.0
 */
public class SiloOutSelectDialog
    extends JDialog {
  private static final int FINDALL = 0;
  private static final int BYID = 1;
  private static final int BYNAME = 2;
  private static final int BYDATE = 3;
  private static final int BYQUANTITY = 4;
  private static final int BYRECIVEUSER = 5;
  private static final int BYSENDUSER = 6;

  private int findBy = this.FINDALL;
  private String sql = "";

  private JPanel radioPanel = new JPanel();
  private Toolkit kit = Toolkit.getDefaultToolkit();
  private SalePanel parentPanel = null;
  private GridLayout gridLayout1 = new GridLayout();
  private ButtonGroup buttonGroup1 = new ButtonGroup();
  private ButtonGroup buttonGroup2 = new ButtonGroup();
  private JRadioButton findAll = new JRadioButton();
  private JRadioButton findByReciveUser = new JRadioButton();
  private JRadioButton findBySendUser = new JRadioButton();
  private JRadioButton findByQuantity = new JRadioButton();
  private JRadioButton findByDate = new JRadioButton();
  private JRadioButton findByName = new JRadioButton();
  private JRadioButton findById = new JRadioButton();
  private JRadioButton equalRadio = new JRadioButton("等于");
  private JRadioButton biggerRadio = new JRadioButton("大于");
  private JRadioButton smallerRadio = new JRadioButton("小于");
  private BorderLayout borderLayout1 = new BorderLayout();
  private JPanel mainPanel = new JPanel();
  private BorderLayout borderLayout2 = new BorderLayout();
  private JPanel buttonPanel = new JPanel();
  private JButton cancelButton = new JButton();
  private JButton okButton = new JButton();
  private JPanel contentPanel = new JPanel();
  private JTextField param1 = new JTextField("", 10);
  private JTextField param2 = new JTextField("", 10);
  private FlowLayout flowLayout1 = new FlowLayout();
  private Border border1;
  private FlowLayout flowLayout2 = new FlowLayout();
  private JLabel jLabel1 = new JLabel();
  private Connection con;
//  private DataBase dataBase;

  public SiloOutSelectDialog(JFrame frame, String title, boolean modal) {
    super(frame, title, modal);
    try {
      jbInit();
      this.setResizable(false);
      pack();
      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
      Dimension frameSize = getSize();
      if (frameSize.height > screenSize.height) {
        frameSize.height = screenSize.height;
      }
      if (frameSize.width > screenSize.width) {
        frameSize.width = screenSize.width;
      }
      setLocation( (screenSize.width - frameSize.width) / 2,
                  (screenSize.height - frameSize.height) / 2 - 150);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }

  public SiloOutSelectDialog(JFrame frame, SalePanel panel, boolean model) {
    this(frame, "原料库查询对话框", model);
    parentPanel = panel;
    this.con = panel.dataBase.connection;
    if (con == null) {
      con = new DataBase().getConnection();
    }
  }

  private void jbInit() throws Exception {
    border1 = BorderFactory.createEmptyBorder(5, 10, 5, 5);
    radioPanel.setLayout(gridLayout1);
    gridLayout1.setHgap(3);
    gridLayout1.setRows(4);
    gridLayout1.setColumns(2);
    param1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        okButton_actionPerformed(e);
      }
    });
    param2.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        okButton_actionPerformed(e);
      }
    });
    findAll.setSelected(true);
    findAll.setText("查询全部");
    findAll.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        findAll_actionPerformed(e);
      }
    });
//    jRadioButton2.setText("jRadioButton2");
//    jRadioButton3.setText("jRadioButton3");
//    findByPrice.setText("按价格查询");
//    findByPrice.addActionListener(new java.awt.event.ActionListener() {
//      public void actionPerformed(ActionEvent e) {
//        findByPrice_actionPerformed(e);
//      }
//    });
    findByQuantity.setText("按数量查询");
    findByQuantity.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        findByQuantity_actionPerformed(e);
      }
    });
    findByDate.setText("按出库时间查询");
    findByDate.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        findByDate_actionPerformed(e);
      }
    });
    findByName.setText("按名称查询");
    findByName.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        findByName_actionPerformed(e);
      }
    });
    findById.setText("按序号查询");
    findById.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        findById_actionPerformed(e);
      }
    });
    this.getContentPane().setLayout(borderLayout1);
    mainPanel.setLayout(borderLayout2);
//    getContentPane().add(radioPanel, BorderLayout.CENTER);
    cancelButton.setText("取   消");
    cancelButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        cancelButton_actionPerformed(e);
      }
    });
    okButton.setText("查   询");
    okButton.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        okButton_actionPerformed(e);
      }
    });
    contentPanel.setLayout(flowLayout1);
    radioPanel.setBorder(border1);
    buttonPanel.setLayout(flowLayout2);
    jLabel1.setText("          ");
    findByReciveUser.setText("按领货人查找");
    findByReciveUser.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        findByReciveUser_actionPerformed(e);
      }
    });
    findBySendUser.setText("按发货人查找");
    findBySendUser.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        findBySendUser_actionPerformed(e);
      }
    });
    radioPanel.add(findAll, null);
    radioPanel.add(findById, null);
    radioPanel.add(findByName, null);
    radioPanel.add(findByReciveUser);
    radioPanel.add(findBySendUser);
    radioPanel.add(findByReciveUser);
    radioPanel.add(findByQuantity, null);
    radioPanel.add(findByDate, null);
    buttonGroup1.add(findAll);
    buttonGroup1.add(findByName);
    buttonGroup1.add(findByQuantity);
    buttonGroup1.add(findByReciveUser);
    buttonGroup1.add(findBySendUser);
    buttonGroup1.add(findById);
    buttonGroup1.add(findByDate);
    this.getContentPane().add(mainPanel, BorderLayout.CENTER);
    mainPanel.add(radioPanel, BorderLayout.NORTH);
    buttonPanel.add(okButton, null);
    buttonPanel.add(jLabel1, null);
    buttonPanel.add(cancelButton, null);
    mainPanel.add(contentPanel, java.awt.BorderLayout.CENTER);
    mainPanel.add(buttonPanel, BorderLayout.SOUTH);
  }

  void findByName_actionPerformed(ActionEvent e) {
    setFindBy(this.BYNAME);
    contentPanel.removeAll();
    contentPanel.add(new JLabel("请输入原材料名称:"));
    contentPanel.add(param1);
    clearFilds();
    pack();
    validate();
    repaint();
  }

  void findAll_actionPerformed(ActionEvent e) {
    setFindBy(this.FINDALL);
    contentPanel.removeAll();
    clearFilds();
    pack();
    validate();
    repaint();
  }

  void findById_actionPerformed(ActionEvent e) {
    setFindBy(this.BYID);
    contentPanel.removeAll();
    contentPanel.add(new JLabel("请输入查询序号:"));
    contentPanel.add(param1);
    clearFilds();
    pack();
    validate();
    repaint();
  }

  void findByDate_actionPerformed(ActionEvent e) {
    setFindBy(this.BYDATE);
    contentPanel.removeAll();
    contentPanel.add(new JLabel("请输入起始时间:"));
    contentPanel.add(param1);
    contentPanel.add(new JLabel("请输入中止时间时间:"));
    contentPanel.add(param2);
    clearFilds();
    pack();
    validate();
    repaint();
  }

  void findByQuantity_actionPerformed(ActionEvent e) {
    setFindBy(this.BYQUANTITY);
    contentPanel.removeAll();
    contentPanel.add(new JLabel("请输入产品数量:"));
    contentPanel.add(param1);
//    biggerRadio.setSelected(true);
    equalRadio.setSelected(true);
    contentPanel.add(equalRadio);
    contentPanel.add(biggerRadio);
    contentPanel.add(smallerRadio);
    buttonGroup2.add(equalRadio);
    buttonGroup2.add(biggerRadio);
    buttonGroup2.add(smallerRadio);
    clearFilds();
    pack();
    validate();
    repaint();
  }

  void cancelButton_actionPerformed(ActionEvent e) {
    this.setVisible(false);
    this.dispose();
  }

  private void setFindBy(int findBy) {
    this.findBy = findBy;
  }

  public void okButton_actionPerformed(ActionEvent e) {
    switch (findBy) {
      case FINDALL:
        sql = "select * from " + Type.SILOOUTTABLE;
        break;
      case BYID:
        sql = "select * from " + Type.SILOOUTTABLE + " where 序号=" +
            param1.getText();
        break;
      case BYNAME:
        sql = "select * from " + Type.SILOOUTTABLE + " where 原料名称 like '" +
            param1.getText() + "'";
        break;
      case BYDATE:
        sql = "select * from " + Type.SILOOUTTABLE  + " where 出库时间 >'" +
            param1.getText() + "' and 出库时间<'" + param2.getText() + "'";
        break;
      case BYQUANTITY:
        String quality = param1.getText();
        int pointIndex1 = quality.indexOf(".");
        if (pointIndex1 < 0) {
          quality += ".0";
        }
        if (biggerRadio.isSelected()) {
          sql = "select * from " + Type.SILOOUTTABLE  + " where 数量>" + quality;
        }
        else if (smallerRadio.isSelected()) {
          sql = "select * from " + Type.SILOOUTTABLE  + " where 数量<" + quality;
        }
        else {
          sql = "select * from " + Type.SILOOUTTABLE  + " where 数量=" + quality;
        }
        break;
      case BYRECIVEUSER: {
        sql = "select * from " + Type.SILOOUTTABLE  + " where 领货人 like '" +
            param1.getText() + "'";
        break;
      }
      case BYSENDUSER: {
        sql = "select * from " + Type.SILOOUTTABLE  + " where 发货人 like '" +
            param1.getText() + "'";
        break;
      }

    }
    try {
      System.out.println(sql);
      Statement sta = con.createStatement();
      ResultSet set = sta.executeQuery(sql);
      ResultSetMetaData meta = set.getMetaData();
      int colCount = meta.getColumnCount();
      int rowCount = parentPanel.tablePanel.tbModel.getRowCount();
      for (int i = 0; i < rowCount; i++) {
        parentPanel.tablePanel.tbModel.removeRow(0);
      }
      Vector colNames = new Vector();
      Vector row;
      for (int i = 1; i <= colCount; i++) {
        colNames.add(meta.getColumnLabel(i));
      }
      parentPanel.tablePanel.tbModel.setColumnIdentifiers(colNames);
      while (set.next()) {
        row = new Vector();
        for (int i = 1; i <= colCount; i++) {
          String temp = set.getString(i);

//          if(i == 3 || i == 4){//单价和数量取两位小数
//          if(i == 4){
//            temp = temp.substring(0, temp.length() -2);
//          }

          if(temp.indexOf(" ") >= 0){
            temp = temp.substring(0, temp.indexOf(" "));
          }
          row.add(temp);
//          System.out.print(set.getString(i)+"   ");
        }
//        System.out.println();
        parentPanel.tablePanel.tbModel.addRow(row);
      } //end while
      if (parentPanel.tablePanel.tbModel.getRowCount() <= 0) {
        kit.beep();
        JOptionPane.showMessageDialog(this, "对不起,没有符合查找条件的记录,请修改数据重新查找!!");
      }
    }
    catch (SQLException ex) {
      System.err.println(e.toString());
      kit.beep();
      JOptionPane.showMessageDialog(this, "查询错误,请检查输入是否正确!!");
    }
    catch (Exception ex2) {
      System.err.println(ex2);
      kit.beep();
      JOptionPane.showMessageDialog(this, "查询错误!!!!");
    }
    validate();
    repaint();
//    System.out.println(sql);
  }

  private Vector getColNames(Connection con) {
    Vector colNames = new Vector();
//    Vector colClasses = new Vector();
    try {
      Statement sta = con.createStatement();
      ResultSet set = sta.executeQuery("select * from " + Type.SILOTABLE);
      ResultSetMetaData metaData = set.getMetaData();
      int colCount = metaData.getColumnCount();
      for (int i = 0; i < colCount; i++) {
        colNames.add(metaData.getColumnLabel(i + 1));
//        colClasses.add(metaData.getColumn());
      }
    }
    catch (Exception e) {
      System.err.print(e.toString());
    }
    return colNames;
  }

  private void clearFilds() {
    param1.setText("");
    param2.setText("");
  }

  public void findByReciveUser_actionPerformed(ActionEvent e) {
    setFindBy(this.BYRECIVEUSER);
    contentPanel.removeAll();
    contentPanel.add(new JLabel("请输入领货人姓名:"));
    contentPanel.add(param1);
    clearFilds();
    pack();
    validate();
    repaint();
  }

  public void findBySendUser_actionPerformed(ActionEvent e) {
    setFindBy(this.BYSENDUSER);
    contentPanel.removeAll();
    contentPanel.add(new JLabel("请输入发货人姓名:"));
    contentPanel.add(param1);
    clearFilds();
    pack();
    validate();
    repaint();
  }
}

⌨️ 快捷键说明

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