📄 studentfindpanel.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 + -