想要下载完整程序请移步:
https://download.csdn.net/download/ancientear/10550004
上次写的是登陆界面,登陆进去是有好几个功能的,添加,修改,删除,查询。
该文就先介绍下查找。
在这里,只要输入学号就可以出现该学生的所有信息。在学生信息出现界面,还可以进行修改学生信息,本文主要是实现查找功能。
package com.sys.view;
import javax.swing.JDialog;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JTextField;
import com.sys.control.DiaListener;
import com.sys.control.FindListener;
import com.sys.control.TableListener;
import com.sys.control.UpdateListener;
import com.sys.data.StaticData;
import javax.swing.JDialog;
/*JDialog窗体是Swing组件中的对话框
JDialog窗体的功能是从一个窗体中弹出另一个窗体*/
import javax.swing.JDialog;
public class FindDialog extends JDialog{
//JLabel 对象可以显示文本
private JLabel id,name,sex,age,academy,address;
public static JLabel err;
public static JTextField t_id,t_name,t_sex,t_age,t_academy,t_address;
private JButton ok,cancle;//定义两个按钮
public static JComboBox cb_sex,cb_ac;//定义下拉菜单控件
public FindDialog(){
this.setAlwaysOnTop(true);//置顶
this.setTitle("查找学生信息");//给顶部框加入字
this.setLayout(null);//用户界面上的屏幕组件的格式布局
this.setSize(580, 320);//定义这个查找弹窗的大小
this.setLocationRelativeTo(null);//设置窗口相对于指定组件的位置,null代表的是居中
int index = ManagerJpanel.jt.getSelectedRow();
//从StaticData.java中获取汉字内容并在此定义为标签,方便后续使用
id = new JLabel(StaticData.S_ID+":");
name = new JLabel(StaticData.S_NAME+":");
sex = new JLabel(StaticData.S_SEX+":");
age = new JLabel(StaticData.S_CLASS+":");
academy = new JLabel(StaticData.S_ACADEMY+":");
address = new JLabel(StaticData.S_address+":");
err = new JLabel();
t_age = new JTextField();
t_id = new JTextField();
t_name = new JTextField();
t_address = new JTextField();
cb_sex = new JComboBox();
cb_ac = new JComboBox();
ok = new JButton("查找");
cancle = new JButton("取消");
cb_sex.addItem("男");
cb_sex.addItem("女");
//把汉字的位置固定好
/* setBounds(x,y,width,height)
* x:组件在容器X轴上的起点
* y:组件在容器Y轴上的起点
* width:组件的长度
* height:组件的高度
*/
id.setBounds(30, 50, 30, 30);
t_id.setBounds(80, 50, 100, 30);
name.setBounds(200, 50, 30, 30);
t_name.setBounds(250, 50, 100, 30);
sex.setBounds(370, 50, 30, 30);
cb_sex.setBounds(420, 50, 100, 30);
//定义汉字后的提示框的位置
age.setBounds(30, 100, 30, 30);
t_age.setBounds(80, 100, 100, 30);
academy.setBounds(200, 100, 30, 30);
cb_ac.setBounds(250, 100, 100, 30);
address.setBounds(370,100,30,30);
t_address.setBounds(420,100,100,30);
//在组合框或列表框中添加一个新数据项,并且可以指定数据项索引。
cb_ac.addItem("计算机学院");
cb_ac.addItem("经济管理学院");
cb_ac.addItem("艺术学院");
cb_ac.addItem("外国语学院");
cb_ac.addItem("海洋学院");
cb_ac.addItem("电信学院");
cb_ac.addItem("机械学院");
err.setBounds(30, 150, 120, 30);
err.setForeground(Color.RED);//设置前景色(在查询不到学生的时候,会出现红色提示)
//在这里定义查找、取消的两个按钮位置
ok.setBounds(250, 200, 100, 30);
cancle.setBounds(350, 200, 100, 30);
ok.addActionListener(new FindListener());
cancle.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
TableListener.jd_u.dispose();
}
});
add(id);
add(t_id);
add(name);
add(t_name);
add(sex);
add(cb_sex);
add(age);
add(t_age);
add(academy);
add(address);
add(t_address);
add(cb_ac);
add(err);
add(ok);
//add(cancle);不知道哪里出了问题,这里的取消按钮一直出问题,就不弄这个了
setVisible(true);
}
}
点击查找后,应该怎么去处理输入的学号或其他信息呢?
package com.sys.control;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import com.sys.view.FindDialog;
import com.sys.view.ManagerJpanel;
import com.sys.view.QueryJDialog;
public class FindListener implements ActionListener{
private JDialog err,masg;
public void actionPerformed(ActionEvent e) {
int index = ManagerJpanel.jt.getSelectedRow();
String id = FindDialog.t_id.getText();//从id的输入框中得到文本信息
if(id.equals("")){
FindDialog.err.setText("学号不能为空!");
}else{
int count = ManagerJpanel.jt.getRowCount();//得到目前的学生信息的个数
for(int i=0;i