📄 studentmanagement2.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
public class StudentManagement2 extends JFrame implements ActionListener{
JTabbedPane dbTabPane;
JPanel inputPanel;//录入面板;
JPanel viewPanel;//浏览面板;
JPanel updatePanel;//更新面板;
JPanel deletePanel;//删除面板;
JButton inputBtn;
StudentPanel inputInnerPanel;
JTextArea viewArea;
JButton viewBtn;
StudentPanel updateInnerPanel;
JLabel updateInputLbl;
JTextField updateInputText;
JButton updateBtn;
StudentPanel deleteInnerPanel;
JLabel inputNoLable;
JTextField inputNoField;
JButton deleteBtn;
Connection conn;
Statement stmt;
public StudentManagement2() {
super("XXX班学生基本信息管理");
setGUIComponent();
}
public void setGUIComponent(){
Container c=getContentPane();
c.setLayout(new BorderLayout());
dbTabPane=new JTabbedPane();
//定义录入面板
inputPanel=new JPanel();
inputPanel.setLayout(new FlowLayout());
inputBtn=new JButton("录入");
inputBtn.addActionListener(this);
inputInnerPanel=new StudentPanel();
inputPanel.add(inputInnerPanel);
inputPanel.add(inputBtn);
dbTabPane.add("录入记录",inputPanel);
//定义浏览面板
viewPanel=new JPanel();
viewPanel.setLayout(new BorderLayout());
viewArea=new JTextArea(6,35);
viewBtn=new JButton("浏览");
viewPanel.add(new JScrollPane(viewArea),BorderLayout.CENTER);
viewPanel.add(viewBtn,BorderLayout.SOUTH);
viewBtn.addActionListener(this);
dbTabPane.add("浏览记录",viewPanel);
//定义更新面板
updateInnerPanel=new StudentPanel();
updateInputLbl=new JLabel("输入学号:");
updateInputText=new JTextField(10);
updateInputText.addActionListener(new ActionListener(){
程序段1 //更新面板;
});
updateBtn=new JButton("修改");
updateBtn.addActionListener(this);
updatePanel=new JPanel();
updatePanel.add(updateInnerPanel);
updatePanel.add(updateInputLbl);
updatePanel.add(updateInputText);
updatePanel.add(updateBtn);
dbTabPane.add("修改记录",updatePanel);
//定义删除面板
deleteInnerPanel=new StudentPanel();
inputNoLable=new JLabel("输入学号:");
inputNoField=new JTextField(10);
inputNoField.addActionListener(new ActionListener(){
程序段2 //将删除面板的显示内容清除;
});
deleteBtn=new JButton("删除");
deleteBtn.addActionListener(this);
deletePanel=new JPanel();
deletePanel.add(deleteInnerPanel);
deletePanel.add(inputNoLable);
deletePanel.add(inputNoField);
deletePanel.add(deleteBtn);
dbTabPane.add("删除记录",deletePanel);
c.add(BorderLayout.NORTH,dbTabPane);
}
public void connection(){//连接数据库
……//略,同程序清单17-3的connection方法定义
}
public void close(){//关闭执行语句和数据库
……//略,同程序清单17-3的close方法定义
}
public void inputRecords(){//录入学生记录;
//略,同程序清单17-3的inputRecords方法定义
}
public void viewARecord(String no,StudentPanel p){
//在显示面板p中,显示学号为no的学生信息
try{
程序段3
}catch(SQLException e1){
System.err.println("操作失败");
System.err.println(e1.getSQLState()+e1.getMessage());
}
finally{
close();
}
}
public void viewRecords(){//浏览该班所有学生的记录;
try{
String viewString="";
connection();
ResultSet rs=stmt.executeQuery("SELECT * From student");
ResultSetMetaData rsMeta=rs.getMetaData();
int nums=rsMeta.getColumnCount();
//获得字段名称;
for(int i=1;i<=nums;i++){
viewString+=rsMeta.getColumnName(i)+"\t";
}
viewString+="\n";
//获得数据表student的记录;
while(rs.next()){
for(int i=1;i<=nums;i++){
viewString+=rs.getString(i)+"\t";
}
viewString+="\n";
viewArea.setText(viewString);
}
}catch(SQLException e1){
System.err.println("浏览学生记录失败");
System.err.println(e1.getSQLState()+e1.getMessage());
}
finally{
close();
}
}
public void updateRecord(String no){//修改学号为no学生的记录;
try{
程序段4
}catch(SQLException e1){
}finally{
close();
}
}
public void deleteRecord(String no){//删除学号为no学生的记录;
try{
程序段5
}catch(SQLException e1){
System.err.println("操作失败");
System.err.println(e1.getSQLState()+e1.getMessage());
}
finally{
close();
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==inputBtn){
inputRecords();
}
else if(e.getSource()==viewBtn){
viewRecords();
}
else if(e.getSource()==updateBtn){
updateRecord(updateInputText.getText());
}
else if(e.getSource()==deleteBtn){
deleteRecord(inputNoField.getText());
deleteInnerPanel.clearContent();
}
}
public static void main(String[] args) {
StudentManagement2 sm = new StudentManagement2();
sm.setSize(500,250);
sm.setVisible(true);
sm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -