validate();}
删除界面:DelC.java/DelSC.java /Deltu.java
先查找你想要删除的项目,然后删除,此外,若删除C表或则S表的内容,会连同SC表中对应的信息一起修改。
import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*;
public class DelC extends JPanel implements ActionListener{
String save=null;
JTextField 课号1,课号,课名; JButton 删除,查找; public DelC(){ try
{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println(\不能设置外观: \+e);}
课号1=new JTextField(12); 课号=new JTextField(12); 课名=new JTextField(12); 删除=new JButton(\删除\); 查找=new JButton(\查找\);
Box box1=Box.createHorizontalBox();//横放box Box box2=Box.createHorizontalBox(); Box box3=Box.createHorizontalBox(); Box box4=Box.createHorizontalBox(); Box box5=Box.createHorizontalBox();
box1.add(new JLabel(\课号:\,JLabel.CENTER)); box1.add(课号);
box2.add(new JLabel(\课名:\,JLabel.CENTER)); box2.add(课名); box4.add(删除);
box5.add(new JLabel(\课号:\,JLabel.CENTER)); box5.add(课号1);
box5.add(查找);
Box boxH=Box.createVerticalBox();//竖放box boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4);
boxH.add(Box.createVerticalGlue()); 删除.addActionListener(this);
查找.addActionListener(this); JPanel picPanel=new JPanel();
JPanel messPanel=new JPanel(); messPanel.add(box5); picPanel.add(boxH);
setLayout(new BorderLayout()); JSplitPane splitV=new
JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割 add(splitV,BorderLayout.CENTER);
validate();}
查询界面:Selsto.java
可以以任意条件模糊查找相关的表。
import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*;
public class Selstu extends JPanel implements ActionListener{
JTextField 学号,姓名,系别; JButton 查找;
JTextField 课号,课名; JButton 查找1;
JTextField 课号1,学号1,成绩; JButton 查找2; public Selstu (){
学号=new JTextField(12);
姓名=new JTextField(12); 系别=new JTextField(12); 课号=new JTextField(12); 课名=new JTextField(12); 课号1=new JTextField(12); 学号1=new JTextField(12); 成绩=new JTextField(12);
查找=new JButton(\查找学生信息\); 查找1=new JButton(\查找课程信息\); 查找2=new JButton(\查找选课信息\);
Box box1=Box.createHorizontalBox();//横放box Box box2=Box.createHorizontalBox(); Box box4=Box.createHorizontalBox(); Box box5=Box.createHorizontalBox(); Box box6=Box.createHorizontalBox(); Box box7=Box.createHorizontalBox();
box1.add(new JLabel(\学号:\,JLabel.CENTER)); box1.add(学号);
box1.add(new JLabel(\姓名:\,JLabel.CENTER)); box1.add(姓名);
box1.add(new JLabel(\系别:\,JLabel.CENTER)); box1.add(系别); box2.add(查找);
box4.add(new JLabel(\课号:\,JLabel.CENTER)); box4.add(课号);
box4.add(new JLabel(\课名:\,JLabel.CENTER)); box4.add(课名); box6.add(查找1);
box5.add(new JLabel(\课号:\,JLabel.CENTER)); box5.add(课号1);
box5.add(new JLabel(\学号:\,JLabel.CENTER)); box5.add(学号1);
box5.add(new JLabel(\成绩:\,JLabel.CENTER)); box5.add(成绩); box7.add(查找2);
Box boxH1=Box.createVerticalBox();//竖放box boxH1.add(box1); boxH1.add(box2);
boxH1.add(Box.createVerticalGlue()); Box boxH2=Box.createVerticalBox();//竖放box boxH2.add(box4); boxH2.add(box6);
boxH2.add(Box.createVerticalGlue()); Box boxH3=Box.createVerticalBox();//竖放box
boxH3.add(box5); boxH3.add(box7);
boxH3.add(Box.createVerticalGlue()); 查找.addActionListener(this); 查找1.addActionListener(this); 查找2.addActionListener(this); JPanel messPanel=new JPanel(); JPanel picPanel=new JPanel(); JPanel threePanel=new JPanel(); messPanel.add(boxH1); picPanel.add(boxH2); threePanel.add(boxH3);
setLayout(new BorderLayout()); JSplitPane splitV=new
JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割 add(splitV,BorderLayout.CENTER);
JSplitPane splitV1=new
JSplitPane(JSplitPane.VERTICAL_SPLIT,splitV,threePanel);//分割 add(splitV1,BorderLayout.CENTER);
validate();}
效果图:
五、课程设计学习心得
通过本次课程设计,成功的完成了这个小型简单的系统的设计,在整个设计过程中我对JAVA使用和它强大的作用有了一个更深刻的认识,尽管这个系统很简单,但是它让我综合运用了这个学期所学的JAVA的很多内容,在此基础上,对JAVA的基础知识得到了更好的巩固。
其实,在制作的过程中我也学到很多思想:首先,要学会统筹全局,合理规划,例如在制作整个框架的时候提前就要做全面考虑,要把整个结构图画出来,并且要对数据库表里的东西做全面规划。同时在编写程序的时候也要想好先实现什么功能,再实现什么功能,这样做出来的东西才有条理性,更容易实现和理解。其次,要细心仔细。Java程序虽然容易理解,但在写的过程中一不留心就会出现错误。当然出错是在所难免的,与性质有关的错误可以经过思考讨论后进行改正,但如果粗心大意,出现输入上的错误就很难发现和修改,会耽误很多时间。
我认为最大的收获是提高了自己的动手能力。在平时的上机中大多数是根据书上的思想和布局来写程序的。这次的课程设计要自己思考自己写,考虑的东西比平时上机考虑的要多的多。在整个设计过程中写代码不是最难的,最难的是构思和布局。这次课程设计也是一次很好的实践活动,让我们体会到了java的神奇作用。