📄 studentface.java
字号:
/**
* @(#)StudentFace.java
*
*
* @author
* @version 1.00 2008/7/3
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.sql.*;
public class StudentFace extends JPanel implements ActionListener{
JFrame sfram;
JLabel jl1,jl2,jl3,jl4,jl5,jl6;
JTextField jt1,jt2,jt3,jt4,jt5,jt6;
JTable jta;
static JButton jb1,jb2,jb3,jb4,jb5;
JComboBox jcb = null;
JButton jbtn; //确定信息按钮
DefaultTableModel model;
DataBaseManager db = new DataBaseManager();
ResultSet rs;
String str ;
String s1 = "";
String s2 = "";
String s3 = "";
String s4 = "";
String s5 = "";
public StudentFace() {
initTxt();
sfram = new JFrame("学生信息");
sfram.setBounds(150,150,750,400);
sfram.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jl1 = new JLabel("学号");
jl1.setPreferredSize(new Dimension(50,25));
jl2 = new JLabel("姓名");
jl2.setPreferredSize(new Dimension(50,25));
jl3 = new JLabel("性别");
jl3.setPreferredSize(new Dimension(50,25));
jl4 = new JLabel("学院");
jl4.setPreferredSize(new Dimension(50,25));
jl5 = new JLabel("专业");
jl5.setPreferredSize(new Dimension(50,25));
jl6 = new JLabel("信息查询");
jt1 = new JTextField(s1,10);
jt1.setPreferredSize(new Dimension(50,25));
jt1.setEditable(false);
jt2 = new JTextField(s2,10);
jt2.setPreferredSize(new Dimension(50,25));
jt2.setEditable(false);
jt3 = new JTextField(s3,10);
jt3.setPreferredSize(new Dimension(50,25));
jt3.setEditable(false);
jt4 = new JTextField(s4,10);
jt4.setPreferredSize(new Dimension(50,25));
jt4.setEditable(false);
jt5 = new JTextField(s5,10);
jt5.setPreferredSize(new Dimension(50,25));
jt5.setEditable(false);
jt6 = new JTextField(10);
String[] strjcb = {"课程号","课程名"};
jcb = new JComboBox(strjcb);
jb5 = new JButton("返回主程序");
jb5.addActionListener(this);
jb5.setVisible(false);//当同学登陆的时候设置为不可显示!
jb4 = new JButton("修改密码");
jb4.addActionListener(this);
jb1 = new JButton("修改个人信息");
jb1.addActionListener(this);
jb2 = new JButton("退出");
jb2.addActionListener(this);
jb3 = new JButton("查询");
jb3.addActionListener(this);
jbtn = new JButton("确定");
jbtn.setVisible(false);
jbtn.addActionListener(this);
//创建JTable
Object[][] arrayObj= {};
String[] colum = {"课程号","课程名","成绩","学分"};
model = new DefaultTableModel(arrayObj,colum);
jta = new JTable(model);//arrayObj,colum
jta.setPreferredSize(new Dimension(300,400));
jta.setPreferredScrollableViewportSize(new Dimension(500,180));
JScrollPane scrollPane=new JScrollPane(jta);
JPanel jpa1 = new JPanel();
JPanel jpa2 = new JPanel();
JPanel jpa3 = new JPanel();
JPanel jpa4 = new JPanel();
jpa1.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
jpa1.add(jl6);
jpa1.add(jcb);
jpa1.add(jt6);
jpa1.add(jb3);
jpa2.setSize(240,250);
jpa2.setLayout(new GridLayout(6,1));
JPanel jpa21 = new JPanel();
jpa21.setLayout(new FlowLayout(FlowLayout.CENTER));
jpa21.add(jl1);
jpa21.add(jt1);
JPanel jpa22 = new JPanel();
jpa22.setLayout(new FlowLayout(FlowLayout.CENTER));
jpa22.add(jl2);
jpa22.add(jt2);
JPanel jpa23 = new JPanel();
jpa23.setLayout(new FlowLayout(FlowLayout.CENTER));
jpa23.add(jl3);
jpa23.add(jt3);
JPanel jpa24 = new JPanel();
jpa24.setLayout(new FlowLayout(FlowLayout.CENTER));
jpa24.add(jl4);
jpa24.add(jt4);
JPanel jpa25 = new JPanel();
jpa25.setLayout(new FlowLayout(FlowLayout.CENTER));
jpa25.add(jl5);
jpa25.add(jt5);
JPanel jpa26 = new JPanel();
jpa26.setLayout(new FlowLayout(FlowLayout.CENTER));
jpa26.add(jbtn);
jpa2.add(jpa21);
jpa2.add(jpa22);
jpa2.add(jpa23);
jpa2.add(jpa24);
jpa2.add(jpa25);
jpa2.add(jpa26);
jpa3.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
jpa3.add(scrollPane,BorderLayout.CENTER);
jpa4.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
jpa4.add(jb4);
jpa4.add(jb1);
jpa4.add(jb2);
jpa4.add(jb5);
sfram.setLayout(new BorderLayout());
sfram.add(jpa1,BorderLayout.NORTH);
sfram.add(jpa2,BorderLayout.WEST);
sfram.add(jpa3,BorderLayout.EAST);
sfram.add(jpa4,BorderLayout.SOUTH);
initJtable();
sfram.setResizable(false);
sfram.setVisible(true);
}
//显示信息到编辑框
public void initTxt(){
str = Login.sName;
try{
String strSQL ="select * from student_Info where student_ID ='"+str+"'";
rs = db.getResult(strSQL);
while(rs.next()){
s1 = rs.getString(1);
s2 = rs.getString(2);
s3 = rs.getString(3);
s4 = rs.getString(4);
s5 = rs.getString(5);
}
}catch(SQLException ex){
System.out.println(ex);
}catch(NullPointerException nex){
System.out.println(nex);
}
}
//显示信息到表格里
public void initJtable(){
//jta.setModel(model);
//如果是从登陆界面进入,则用第一个try,否则用第二个try!
if(!s1.equals("")){
try{
String strSQL="select *from Student_Score where Student_ID='"+str+"'";
rs =db.getResult(strSQL);
while(rs.next()){
Object data[] = {rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
model.addRow(data);//addRow()需要Object数组类型!
}
}catch(SQLException ex){
System.out.println(ex);
}catch(NullPointerException ex){
System.out.println(ex);
}
}else{
str = MainFace.mainStr;
try{
String strSQL="select *from Student_Score where Student_ID='"+str+"'";
rs =db.getResult(strSQL);
while(rs.next()){
Object data[] = {rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
model.addRow(data);//addRow()需要Object数组类型!
}
//查询标签里面的信息
String strSQL2 ="select * from student_Info where student_ID ='"+str+"'";
rs = db.getResult(strSQL2);
while(rs.next()){
s1 = rs.getString(1);
s2 = rs.getString(2);
s3 = rs.getString(3);
s4 = rs.getString(4);
s5 = rs.getString(5);
}
//将信息显示到标签里面!
jt1.setText(s1);
jt2.setText(s2);
jt3.setText(s3);
jt4.setText(s4);
jt5.setText(s5);
}catch(SQLException ex){
System.out.println(ex);
}catch(NullPointerException ex){
System.out.println(ex);
}
}
}
public void actionPerformed(ActionEvent e){
Object o = e.getSource();
if(o.equals(jb3)){
for(int i =model.getRowCount()-1;i>=0;i--){
model.removeRow(i);
sfram.repaint();
//jpa3.repaint();
}
int type = jcb.getSelectedIndex();
switch(type){
case 0:
try{
String strSQL="select * from Student_Score where Student_ID='"+jt1.getText().trim()
+"'and class_No='"+jt6.getText().trim()+"'";
rs =db.getResult(strSQL);
while(rs.next()){
Object data[] = {rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
model.addRow(data);//addRow()需要Object数组类型!
//jpa3.repaint();
sfram.repaint();
}
if(model.getRowCount()==0){
JOptionPane.showMessageDialog(null,"没有搜索到记录!","提示",JOptionPane.INFORMATION_MESSAGE);
}
}catch(SQLException ex){
System.out.println(ex);
}catch(NullPointerException ex){
System.out.println(ex);
}
break;
case 1:
try{
String strSQL="select * from Student_Score where Student_ID='"+jt1.getText().trim()
+"'and class_Name='"+jt6.getText().trim()+"'";
rs =db.getResult(strSQL);
while(rs.next()){
Object data[] = {rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5)};
model.addRow(data);//addRow()需要Object数组类型!
//jpa3.repaint();
sfram.repaint();
}
if(model.getRowCount()==0){
JOptionPane.showMessageDialog(null,"没有搜索到记录!","提示",JOptionPane.INFORMATION_MESSAGE);
}
}catch(SQLException ex){
System.out.println(ex);
}catch(NullPointerException ex){
System.out.println(ex);
}
break;
}
}
//修改学生密码
if(o.equals(jb4)){
new PasswordChange();
}
if(o.equals(jb5)){
sfram.dispose();
}
//修改个人信息时,将JTextField 设置为可以编辑的!
if(o.equals(jb1)){
jt2.setEditable(true);
jt3.setEditable(true);
jt4.setEditable(true);
jt5.setEditable(true);
jbtn.setVisible(true);
}
//修改信息确定按钮!
if(o.equals(jbtn)){
try{
String strSQL1 ="select *from Student_Info where Student_ID='"+str+"'";
rs =db.getResult(strSQL1);
while(rs.next()){
String strSQL2="update Student_Info set Student_Name='"
+jt2.getText()+"',"+"Student_Sex='"+jt3.getText()+"',"
+"Student_Dept='"+jt4.getText()+"',"+"Student_Mjor='"+jt5.getText()+"'";
if(db.updateSql(strSQL2)){
JOptionPane.showMessageDialog(null,"修改信息成功!","提示",JOptionPane.INFORMATION_MESSAGE);
}else{
JOptionPane.showMessageDialog(null,"修改信息失败!","提示",JOptionPane.INFORMATION_MESSAGE);
}
}
}catch(SQLException ex){
System.out.println(ex);
}catch(NullPointerException ex){
System.out.println(ex);
}
jt2.setEditable(false);
jt3.setEditable(false);
jt4.setEditable(false);
jt5.setEditable(false);
jbtn.setVisible(false);
}
//退出按钮!
if(o.equals(jb2)){
System.exit(0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -