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

📄 studentfindpanel.java

📁 掌握 JDBC 驱动程序的加载方法和JDBC-ODBC桥URL的形式; 掌握使用JDBC连接数据库的步骤; 掌握使用JDBC发送SQL语句的基本步骤; 掌握使用JDBC处理SQL查询结果集
💻 JAVA
字号:
package cn.edu.csu.oo.gui.project.view.panel;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.Iterator;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import cn.edu.csu.oo.gui.container.GBC;
import cn.edu.csu.oo.gui.project.action.studentaction.FindStudentAction;
import cn.edu.csu.oo.gui.project.dao.studentdao.impl.StudentDaoImpl;

public class StudentFindPanel extends JPanel {
  private JCheckBox stuIdBox, stuNameBox, stuMajorBox;

  private JTextField stuIdTxt, stuNameTxt;

  private JComboBox majorComboBox;

  private JButton btnFind, btnFlush;
  private ActionListener action;
  public StudentFindPanel() {
    this.setLayout(new BorderLayout());
    this.add(buildInfoFindPanel(),"North");
    this.add(buildJScrollTablePane());

  }

  public JPanel buildInfoFindPanel() {
    initialTxt();
    buildMajorComboBox();
    JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
    panel.add(buildInfoPane());
    panel.add(buildBtnPane());
    return panel;
  }
  public JPanel buildInfoPane(){
    JPanel panel = new JPanel();
    panel.setLayout(new GridLayout(3,2));
    panel.add(buildStuIdBox());
    panel.add(this.stuIdTxt);
    panel.add(buildStuNameBox());
    panel.add(this.stuNameTxt);
    panel.add(buildStuMajorBox());
    panel.add(buildMajorComboBox());
    panel.setBorder(BorderFactory.createTitledBorder("请选择查询条件:"));
    return panel;
  }
  public JPanel buildBtnPane(){
    JPanel panel = new JPanel();
    panel.add(buildBtn("查找"));
    panel.add(buildBtn("刷新"));
    panel.setBorder(BorderFactory.createTitledBorder("查找方式:"));
    return panel;
  }
  public void initialTxt() {
    stuIdTxt = new JTextField(18);
    stuIdTxt.setEditable(false);
    stuNameTxt = new JTextField(18);
    stuNameTxt.setEditable(false);
  }

  public JComboBox buildMajorComboBox() {
    if (majorComboBox == null) {
      majorComboBox = new JComboBox();
      Vector v = new StudentDaoImpl().findMajor();
      Iterator iter = v.iterator();
      while(iter.hasNext()){
        majorComboBox.addItem((String)iter.next());
      }
    }
    return majorComboBox;
  }

  public JCheckBox buildStuIdBox() {
    if (stuIdBox == null) {
      stuIdBox = new JCheckBox("按学号查找:");
    }
    stuIdBox.addItemListener(new ItemListener(){

      public void itemStateChanged(ItemEvent e) {
        if (stuIdBox.isSelected()) {
          stuIdTxt.setEditable(true);
        } else {
          stuIdTxt.setEditable(false);
        }    
      }
      
    });

    return stuIdBox;
  }

  public JCheckBox buildStuNameBox() {
    if (stuNameBox == null) {
      stuNameBox = new JCheckBox("按姓名查找:");
    }
    stuNameBox.addItemListener(new ItemListener(){

      public void itemStateChanged(ItemEvent e) {
        if (stuNameBox.isSelected()) {
          stuNameTxt.setEditable(true);
        } else {
          stuNameTxt.setEditable(false);
        }        
      }
      
    });

    return stuNameBox;
  }

  public JCheckBox buildStuMajorBox() {
    if (stuMajorBox == null) {
      stuMajorBox = new JCheckBox("按专业查找:");
    }
    stuMajorBox.addItemListener(new ItemListener(){

      public void itemStateChanged(ItemEvent e) {
        if (stuMajorBox.isSelected()) {
          majorComboBox.setEditable(true);
        } else {
          majorComboBox.setEditable(false);
        }  
      }
      
    });

    return stuMajorBox;
  }
  public JTextField getStuIdTxt(){
    return stuIdTxt;
  }
  public JTextField getStuNameTxt(){
    return stuNameTxt;
  }
 
  public JButton buildBtn(String name){
    JButton btn = new JButton(name);
    action = new FindStudentAction(this);
    btn.addActionListener(action);
    return btn;
  }
  public JScrollPane buildJScrollTablePane(){
    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
    panel.add(buildJTable().getTableHeader());
    panel.add(buildJTable());
    JScrollPane js = new JScrollPane(panel);
    return js;
  }
  private JTable table;
  public JTable buildJTable(){
    if(table == null){
      Object[][] data = {};
      String[] name = {"学生编号","学生姓名","学生性别","所属专业","所属年级","联系邮箱","宿舍地址","联系电话","入学时间"};
      DefaultTableModel model = new DefaultTableModel(data,name);
      table = new JTable(model);
    }
    return table;
  }
}

⌨️ 快捷键说明

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