Java程序设计 1 Java程序设计
系 专 业 班 级 学 号 姓 名 题 目 任课教师
08级嵌入式系统实验班 26号 赵黎明 学生成绩管理系统 彭洁
Java程序设计 2 一、课程设计要求:
1、用到书上(课本或实验册)上的至少三个实例; 2、用到至少两种布局和至少四种组件; 3、用到对话框;
4、用到对数据库的查询、删除、添加和修改; 5、最好用到输入输出流; 6、具有一定的实际意义。
二、用到的实例及实际意义:
2.1 程序所用到的实例:
1、《Java2使用教程》第10章例题10.12 P282; 2、《Java2使用教程》第11章例题11.8 P323; 3、《Java2使用教程》第15章所有例题均有使用作参考 P391-411; 4、在其他参考书和网上也有用到相关程序和代码,并有所参考和借鉴。
2.2程序的实际意义:
本《学生成绩管理系统》具有对学生成绩进行管理的功能。并于数据库相连接,能够对
学生的成绩、姓名、出生日期进行查询、添加和删除等,简捷方便,容易使用。
Java程序设计 3 三、程序代码及运行效果:
3.1.1 主类代码:
/*主类代码*/
import javax.swing.*; import java.awt.*;
import java.awt.event.*;
class MyPanel extends JPanel{
Image img=Toolkit.getDefaultToolkit().getImage(\ public void paint(Graphics g){ g.drawImage(img,0,0,this); } }
public class MainForm extends JFrame implements ActionListener {
JMenu mSystem=new JMenu(\系统\
JMenuItem mExit=new JMenuItem(\退出\ JMenu mOperate=new JMenu(\数据操作\ JMenuItem mAdd=new JMenuItem(\添加\ JMenuItem mDel=new JMenuItem(\删除\ JMenuItem mModify=new JMenuItem(\修改\ JMenu mQuery=new JMenu(\查询\
JMenuItem mName=new JMenuItem(\按姓名查询\ JMenuItem mScore=new JMenuItem(\按成绩查询\ JMenu mHelp=new JMenu(\帮助\
JMenuItem mAbout=new JMenuItem(\软件信息\ JMenuBar mBar=new JMenuBar(); MainForm() {
super(\学生成绩管理系统\ setSize(875,583); mSystem.add(mExit); mOperate.add(mAdd); mOperate.add(mDel); mOperate.add(mModify); mQuery.add(mName); mQuery.add(mScore); mHelp.add(mAbout); mBar.add(mSystem); mBar.add(mOperate); mBar.add(mQuery); mBar.add(mHelp); setJMenuBar(mBar);
mExit.addActionListener(this); mAdd.addActionListener(this); mDel.addActionListener(this);
Java程序设计 4 mModify.addActionListener(this); mName.addActionListener(this); mScore.addActionListener(this); mAbout.addActionListener(this); setContentPane(new MyPanel()); setVisible(true); }
public void actionPerformed(ActionEvent ae){ if(ae.getSource()==mExit) System.exit(0);
else if(ae.getSource()==mAbout)
JOptionPane.showMessageDialog(this,\学生成绩管理系统\\n\\n应用科学学院\\n\\n2011年4月\软件信息\ else if(ae.getSource()==mAdd)
new AddForm().setVisible(true); else if(ae.getSource()==mDel)
new DeleteForm().setVisible(true); else if(ae.getSource()==mModify) new ModifyForm().setVisible(true); else if(ae.getSource()==mName)
new NameQueryForm().setVisible(true); else if(ae.getSource()==mScore)
new ScoreQueryForm().setVisible(true); }
public static void main(String[] args) { new MainForm(); } }
3.1.2 运行效果:
Java程序设计 5 3.2.1 修改数据:
/*修改数据*/
import javax.swing.*; import java.awt.*;
import java.awt.event.*; import java.sql.*;
public class ModifyForm extends JFrame implements ActionListener {
JLabel labName=new JLabel(\姓名:\ JLabel labDate=new JLabel(\出生日期:\ JLabel labScore=new JLabel(\成绩:\ JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnModify=new JButton(\修改\ JButton btnCancel=new JButton(\取消\ JButton btnQuery=new JButton(\查询\ JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; ModifyForm() {
super(\修改数据\ setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnQuery); pan4.add(btnModify); pan4.add(btnCancel);
pan.setLayout(new GridLayout(3,1)); pan.add(pan1); pan.add(pan2); pan.add(pan3);
getContentPane().add(pan,\ getContentPane().add(pan4,\