import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.sql.Connection;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
///这是领导类信息系统的框架类
/// leaderinfoframe是顶层窗口框架。
///通过九个文本域控件来分别可以显示不同班级、不同系的学生信息。
///三个按钮控件分别产生三个不同的动作事件简史事件,分别是添加,删除和更新。Addition是添加。Delete是删除,update是更新
///在布局方面有两个布局管理器,一个是lay即网格组布局。一个是jp是GridLayout布局。
///通过不同的SQL语句进入不同的班级和系的管理系统。
///使用将数据库中的数据先导入到vec中。然后在将vec中的数据导入领导类中。最后再将数据输出
class leaderinfo extends JPanel
{
private static final long serialVersionUID = 1L;
static final int WIDTH=700;
static final int HEIGHT=400;
final JComboBox nameinput;
final JTextField codeinput;
final JTextField sexyinput;
final JTextField birthdayinput;
final JTextField ageinput;
final JTextField addressinput;
final JTextField salaryinput;
final JTextField majorinput;
final JTextField dutyinput;
JFrame teacherinfoframe;
storesystem2 store=new storesystem2();
Connection con=store.getConnection();
addframe2 af=new addframe2();
public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)
{
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=w;
constraints.gridheight=h;
add(c,constraints);
}
public leaderinfo(String str,String sql)
{
teacherinfoframe=new JFrame();
teacherinfoframe.setTitle(str);
teacherinfoframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
teacherinfoframe.setSize(WIDTH,HEIGHT);
Toolkit kit=Toolkit.getDefaultToolkit();
Dimension screenSize=kit.getScreenSize();
int width=screenSize.width;
int height=screenSize.height;
int x=(width-WIDTH)/2;
int y=(height-HEIGHT)/2;
teacherinfoframe.setLocation(x,y);
teacherinfoframe.setVisible(true);
teacherinfoframe.setResizable(false);
teacherinfoframe.add(this,BorderLayout.CENTER);
GridBagLayout lay=new GridBagLayout();
setLayout(lay);
JLabel name=new JLabel("姓名");
JLabel code=new JLabel("学号");
JLabel sexy=new JLabel("性别");
JLabel age=new JLabel("年龄");
JLabel birthday=new JLabel("出生年月");
JLabel address=new JLabel("家庭地址");
JLabel salary=new JLabel("薪水");
JLabel major=new JLabel("专业");
JLabel duty=new JLabel("职务");
JLabel title=new JLabel(str);
nameinput=new JComboBox();
codeinput=new JTextField(10);
sexyinput=new JTextField(10);
ageinput=new JTextField(10);
birthdayinput=new JTextField(10);
addressinput=new JTextField(10);
salaryinput=new JTextField(10);
majorinput=new JTextField(10);
dutyinput=new JTextField(10);
///将存储在Vector中的数据提取出来重新赋值给学生对象。再利用领导对象中 getname方法来提取出领导姓名来,最后使用组合列表框的添加功能将这些名字添加到列表中去。
Vector vec=store.getteacher(con,sql);
for(int i=0;i<vec.size();i++)
{
teacher one =(teacher)vec.get(i);
String nameselect=one.getname();
nameinput.addItem(nameselect);
}
String namestring=(String)nameinput.getSelectedItem();
teacher p=store.getobject(con,namestring);
String inputcode=p.getcode();
String inputsexy=p.getsexy();
String inputage=p.getage();
String inputbirthday=p.getbirthday();
String inputaddress=p.getaddress();
String inputsalary=p.getsalary();
String inputmajor=p.getmajor();
String inputduty=p.getduty();
codeinput.setText(inputcode);
sexyinput.setText(inputsexy);
ageinput.setText(inputage);
birthdayinput.setText(inputbirthday);
addressinput.setText(inputaddress);
salaryinput.setText(inputsalary);
majorinput.setText(inputmajor);
dutyinput.setText(inputduty);
JButton addition=new JButton("添加");
JButton delete=new JButton("删除");
JButton update=new JButton("更新");
JButton bereturn=new JButton("返回");
GridBagConstraints constraints=new GridBagConstraints();
constraints.fill=GridBagConstraints.NONE;
constraints.weightx=4;
constraints.weighty=7;
add(title,constraints,0,0,4,1); //使用网格组布局添加控件
add(name,constraints,0,1,1,1);
add(code,constraints,0,2,1,1);
add(sexy,constraints,0,3,1,1);
add(age,constraints,0,4,1,1);
add(nameinput,constraints,1,1,1,1);
add(codeinput,constraints,1,2,1,1);
add(sexyinput,constraints,1,3,1,1);
add(ageinput,constraints,1,4,1,1);
add(birthday,constraints,2,1,1,1);
add(address,constraints,2,2,1,1);
add(salary,constraints,2,3,1,1);
add(major,constraints,2,4,1,1);
add(duty,constraints,0,5,1,1);
add(birthdayinput,constraints,3,1,1,1);
add(addressinput,constraints,3,2,1,1);
add(salaryinput,constraints,3,3,1,1);
add(dutyinput,constraints,1,5,1,1);
add(majorinput,constraints,3,4,1,1);
add(addition,constraints,0,6,1,1);
add(delete,constraints,1,6,1,1);
add(update,constraints,2,6,1,1);
add(bereturn,constraints,3,6,1,1);
///通过点击每一个列表框中的名字,会相应地显示出此名字的所有信息
nameinput.addItemListener(new ItemListener ()
{
public void itemStateChanged(ItemEvent e)
{
String namestring=(String)nameinput.getSelectedItem();
teacher p=store.getobject(con,namestring);
String inputcode=p.getcode();
String inputsexy=p.getsexy();
String inputage=p.getage();
String inputbirthday=p.getbirthday();
String inputaddress=p.getaddress();
String inputsalary=p.getsalary();
String inputmajor=p.getmajor();
String inputduty=p.getduty();
codeinput.setText(inputcode);
sexyinput.setText(inputsexy);
ageinput.setText(inputage);
birthdayinput.setText(inputbirthday);
addressinput.setText(inputaddress);
salaryinput.setText(inputsalary);
majorinput.setText(inputmajor);
dutyinput.setText(inputduty);
}
});
///返回主菜单
bereturn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent Event)
{
teachermanageframe manageframe=new teachermanageframe();
manageframe.setVisible(true);
teacherinfoframe.dispose();
}
});
///进入添加主界面
addition.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent Event)
{
addframe2 addfr=new addframe2();
addfr.setVisible(true);
}
});
///更新按钮,使得从数据库表中,将数据提取显示到界面中
update.addActionListener(new ActionListener
评论0
最新资源