JAVA简单课程设计有文档和源代码

4.1登录编码
package dd;
//用于登录模块
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//定义实现接口的Login1类,同样继承JFrame父类,用于GUI界面,
//同时实现了ActionListener(事件监听器接口),menuInterface(自己定义的接口)两个接口
public class Login1 extends JFrame implements ActionListener,menuInterface{//Login1.java
JLabel label0,label1,label2,label3;//定义三个标签
public JButton button1,button2;//定义两个按钮
JTextField text1;//定义两个文本框
JPasswordField text2;
FlowLayout flow;//定义流式布局对象
//对接口menuInterface定义的方法进行重写
public void chaiDanxiang() {
setLocation(100,100);//位置
setSize(400,400);//设置框架的尺寸
setVisible(true);//框架窗口是可见的
setResizable(false);//窗口大小不可改变
setTitle("登录");//设置窗口标题为"登录"
Container con=this.getContentPane();//获得内容面板
JPanel panel=new JPanel();//创建一个空面板
con.add(panel);//把面板添加到窗口里面
panel.setBackground(Color.green);//设置面板的背景色为绿色
flow=new FlowLayout(1,20,30);//设置流式布局组件间的对齐方式、水平和垂直距离。
panel.setLayout(flow);//设置面板的布局为流式布局

label0=new JLabel("欢迎进入成绩管理系统");//创建内容为"欢迎进入成绩管理系统"的标签,下面同理
label1=new JLabel("用户名");

//设置背景图片
ImageIcon icon=new ImageIcon("img/bg.jpg");

label3=new JLabel(icon);
label3.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());;
this.getLayeredPane().add(label3,new Integer(Integer.MIN_VALUE));
JPanel j=(JPanel)this.getContentPane();
j.setOpaque(false);
panel.setOpaque(false);


label2=new JLabel("密 码");
text1=new JTextField(10);
text2=new JPasswordField(10);
button1=new JButton("确定");
button2=new JButton("取消");
button1.addActionListener(this);//注册事件监听器方法
button2.addActionListener(this);
 panel.add(label0);//把标签label0加到面板中,下面同理
 panel.add(label1);
 panel.add(text1);
 panel.add(label2);
 panel.add(text2);
 panel.add(button1);
 panel.add(button2);

 Font font1=new Font("宋体",Font.BOLD,30);//创建字体对象,设置字体,字型,字号
 label0.setFont(font1);
 label1.setFont(font1);
 label2.setFont(font1);
 text1.setFont(font1);
 text2.setFont(font1);
 button1.setFont(font1);
 button2.setFont(font1);
 }
//产生的事件对象处理方法
public void actionPerformed(ActionEvent e) {
backGrounp1 ba2=new backGrounp1();//创建backGrounp1类的对象ba2
//下面这段代码用于登录
if(e.getSource()==button1) {//判断是否按下的是button1
if(text1.getText().equals("A")&&String.valueOf(text2.getPassword()).equals("1")) {//判断用户名和密码是否输入正确
setVisible(false);//界面不可见
dispose();//关闭窗体,并释放一部分资源。
ba2.show(new MenuBar1());调用backGrounp1类的方法show(),实现接口回调
}else {
System.out.println("no");
}
}else if(e.getSource()==button2) {//判断是否按下的是button2,如果是就退出系统
System.exit(0);
}
}
}

4.2菜单编码
package dd;
//菜单条模块
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;
import javax.swing.*;
import java.awt.event.*;
//定义实现接口的MenuBar1类,同样继承JFrame父类,用于GUI界面,
//同时实现了ActionListener(事件监听器接口),menuInterface(自己定义的接口)两个接口
public class MenuBar1 extends JFrame implements ActionListener,menuInterface{//MenuBar1
JPanel panel;//创建一个面板对象
FlowLayout flow;//定义流式布局对象
JMenuBar mymenubar;//定义一个菜单条对象
JLable label0;
JMenu menu0,menu1,menu2,menu3,menu4;//定义五个菜单对象
JMenuItem item0,item1,item2,item3,item4,item5,item6,item7,item8;//定义九个菜单项对象
//对接口menuInterface定义的方法进行重写
public void chaiDanxiang() {
setLocation(100,100);//位置
setSize(400,400);//设置框架的尺寸
setResizable(false);//窗口大小不可改变
setVisible(true);//框架窗口是可见的
setTitle("菜单");//设置窗口标题为"菜单"
Container con=this.getContentPane();//获得内容面板
panel=new JPanel();//创建一个空面板
con.add(panel);//把面板添加到窗口里面
panel.setBackground(Color.green);//设置面板的背景色为绿色
flow=new FlowLayout();//流式布局
panel.setLayout(flow);//将面板panel设置为流式布局
mymenubar=new JMenuBar();//创建一个菜单条
setJMenuBar(mymenubar);// 将菜单栏对象添加到窗体的菜单栏中

menu0=new JMenu("课程窗口");//创建内容为"课程窗口"的菜单,下面同理
menu1=new JMenu("关于系统");
menu2=new JMenu("成绩");
menu3=new JMenu("兴趣爱好");
menu4=new JMenu("说明");
//设置背景图片
ImageIcon icon=new ImageIcon("img/bg.jpg");

label0=new JLabel(icon);
label0.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());;
this.getLayeredPane().add(label0,new Integer(Integer.MIN_VALUE));
JPanel j=(JPanel)this.getContentPane();
j.setOpaque(false);
panel.setOpaque(false);
mymenubar.add(menu1);//把标签menu1加到菜单条中,下面同理
mymenubar.add(menu0);
mymenubar.add(menu2);
mymenubar.add(menu3);
mymenubar.add(menu4);
item0=new JMenuItem("修改密码");//创建内容为"修改密码"的菜单项,下面同理
item1=new JMenuItem("退出");
item2=new JMenuItem("计算成绩");
item3=new JMenuItem("爱好");
item4=new JMenuItem("小组说明");
item5=new JMenuItem("选课");
item6=new JMenuItem("登录");
item7=new JMenuItem("成绩查询");
item8=new JMenuItem("学生课程");
menu1.add(item6);//把标签item6加到菜单中,下面同理
menu1.add(item0);
menu1.add(item1);
menu2.add(item7);
menu2.add(item2);
menu3.add(item3);
menu4.add(item4);
menu0.add(item5);
menu0.add(item8);
item0.addActionListener(this);//注册事件监听器方法
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
item5.addActionListener(this);
item6.addActionListener(this);
item7.addActionListener(this);
item8.addActionListener(this);
}
//产生的事件对象处理方法
public void actionPerformed(ActionEvent e) {
backGrounp1 ba3=new backGrounp1();//创建backGrounp1类的对象ba3

if(e.getSource()==item1) {//如果点击的是item1,则退出系统
System.exit(0);
}else if(e.getSource()==item2) {//如果点击的是item2,则显示计算成绩模块
ba3.show(new Chengji());
}else if(e.getSource()==item3) {//如果点击的是item3,则显示兴趣爱好模块
ba3.show(new CheckBox1());
}else if(e.getSource()==item4) {//如果点击的是item4,则显示小组说明模块
ba3.show(new shouMing());
}
else if(e.getSource()==item0) {如果点击的是item0,则显示修改密码模块
ba3.show(new AboutSystem());
}
else if(e.getSource()==item5) {如果点击的是item5,则显示选课模块
ba3.show(new xuanke());
}
else if(e.getSource()==item6) {如果点击的是item6,则显示登录模块
ba3.show(new Login1());
}
else if(e.getSource()==item7) {如果点击的是item7,则显示成绩查询模块
ba3.show(new result());
}
else if(e.getSource()==item8) {//如果点击的是item8,则显示课程表模块

	  
	     
	        JFrame frame = new JFrame();
	        JTable table = new JTable(new KCBdata());   //JTable 类可以以表格的形式显示和编辑数据,请注意:JTable对象并不储存数据,它只是数据的表现方法。

	        JScrollPane pane = new JScrollPane(table);

	        frame.add(pane);//把pane加入到frame
	        frame.pack();//自己确定自己的大小
	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	        frame.setVisible(true);//使得可见
	      


}}}


4.3成绩查询编码
package dd;
//成绩查询模块
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//定义实现接口的result类,同样继承JFrame父类,用于GUI界面,
//同时实现了ActionListener(事件监听器接口),menuInterface(自己定义的接口)两个接口
public class result  extends JFrame implements ActionListener,menuInterface {
	
	JLabel label1,label2,label3,label4;//定义四个标签
	public JButton button1,button2,button3,button4;//定义四个按钮
	JTextField text1,text2,text3,text4;//定义四个文本框
	FlowLayout flow;//定义流式布局对象
	//对接口menuInterface定义的方法进行重写
	public void chaiDanxiang() {
	setLocation(100,100);//位置
	setSize(400,500);//设置框架的尺寸
	setVisible(true);//框架窗口是可见的
	setResizable(false);//窗口大小不可改变
	setTitle("成绩查询窗口");//设置窗口标题为"成绩查询窗口"
	Container con=this.getContentPane();//获得内容面板
	JPanel panel=new JPanel();//创建一个空面板对象
	con.add(panel);//把面板添加到窗口里面
	panel.setBackground(Color.green);//设置面板的背景色为绿色
	flow=new FlowLayout(1,20,30);//设置流式布局组件间的对齐方式、水平和垂直距离。
	panel.setLayout(flow);//设置面板的布局为流式布局
ImageIcon icon=new ImageIcon("img/xx.jpg");

	label3=new JLabel(icon);
	label3.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());;
	this.getLayeredPane().add(label3,new Integer(Integer.MIN_VALUE));
	JPanel j=(JPanel)this.getContentPane();
	j.setOpaque(false);
	panel.setOpaque(false);
	label1=new JLabel("请输入学号");//创建内容为"请输入学号"的标签,下面同理
	label2=new JLabel("大学英语");
	label3=new JLabel("高等数学");
	label4=new JLabel("体育    ");
	text1=new JTextField(10);
	text2=new JTextField(20);
	text3=new JTextField(20);
	text4=new JTextField(20);
	button1=new JButton("查询");
	button1.addActionListener(this);//注册事件监听器方法
	 panel.add(label1);//把标签label1加到面板中,下面同理
	 panel.add(text1);
	 panel.add(button1);
	 panel.add(label2);
	 panel.add(text2);
	 panel.add(label3);
	 panel.add(text3);
	 panel.add(label4);
	 panel.add(text4);
	 Font font1=new Font("宋体",Font.BOLD,20);//创建字体对象,设置字体,字型,字号
	 label1.setFont(font1);//将label1的标签设置为font1这种类型的字体,下面同理
	 label2.setFont(font1);
	 label3.setFont(font1);
	 label4.setFont(font1);
	 text1.setFont(font1);
	 text2.setFont(font1);
	 text3.setFont(font1);
	 text4.setFont(font1);
	 button1.setFont(font1);
	 }
	//产生的事件对象处理方法
	public void actionPerformed(ActionEvent e) {
		if (text1.getText().equals("18101")) {//判断text1输入的文本是否等于“18101”
			int English=88;
			int Math=90;
			int PE=89;
			
			text2.setText(String.valueOf(English));//先将int的English的值转换成String类型,再将转换成Sring类型的值设置为text2的文本,下面同理
			text3.setText(String.valueOf(Math));
			text4.setText(String.valueOf(PE));
		    }
		if (text1.getText().equals("18102")) {
			int English=79;
			int Math=89;
			int PE=98;
			
			text2.setText(String.valueOf(English));
			text3.setText(String.valueOf(Math));
			text4.setText(String.valueOf(PE));
		    }
		if (text1.getText().equals("18103")) {
			int English=78;
			int Math=70;
			int PE=90;
			
			text2.setText(String.valueOf(English));
			text3.setText(String.valueOf(Math));
			text4.setText(String.valueOf(PE));
		    }
		
			
	}

}


4.4兴趣爱好编码
package dd;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//关于实现兴趣爱好模块
//定义实现接口的CheckBox1类,同样继承JFrame父类,用于GUI界面,
//同时实现了ActionListener(事件监听器接口),menuInterface(自己定义的接口)两个接口
public class CheckBox1 extends JFrame implements
ActionListener,menuInterface{//CheckBox1.java
JPanel panel;//创建一个面板对象
JCheckBox c1[]=new JCheckBox[3];//创建复选框类型的数组对象
String s1[]= {"打篮球","跑步","绘画"};//创建字符类型的数组对象
FlowLayout flow;//定义流式布局对象
JLabel label;//定义一个标签
//对接口menuInterface定义的方法进行重写
public void chaiDanxiang() {
setLocation(100,100);//位置
setSize(400,400);//设置框架的尺寸
setResizable(false);//窗口大小不可改变
setVisible(true);//框架窗口是可见的
setTitle("兴趣爱好");//设置窗口标题为“兴趣爱好”
Container con=this.getContentPane();//获得内容面板
panel=new JPanel();//创建一个空面板
con.add(panel);//把面板添加到窗口里面
panel.setBackground(Color.green);//设置面板的背景色为绿色
flow=new FlowLayout(1,20,30);//设置流式布局组件间的对齐方式、水平和垂直距离。
panel.setLayout(flow);//设置面板的布局为流式布局
ImageIcon icon=new ImageIcon("img/xx.jpg");

label3=new JLabel(icon);
label3.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());;
this.getLayeredPane().add(label3,new Integer(Integer.MIN_VALUE));
JPanel j=(JPanel)this.getContentPane();
j.setOpaque(false);
panel.setOpaque(false);
//下面这段代码是进行复选框的选择
for(int i=0;i<c1.length;i++) {
c1[i]=new JCheckBox(s1[i]);//字符类型的数组的值赋值给复选框类型的数组
panel.add(c1[i]);//将复选框类型的数组的值添加到面板中
c1[i].addActionListener(this);//注册事件监听器方法
}
label=new JLabel("结果");//创建内容为"结果"的标签
panel.add(label);//把标签label加到面板中

 }
//产生的事件对象处理方法
public void actionPerformed(ActionEvent e) {
String ss="";
for(int i=0;i<c1.length;i++) {
if(c1[i].isSelected()) {//判断获取复选按钮被选中的状态。
ss=ss+c1[i].getLabel();//把选中的放到字符型ss中
}
}
label.setText("你的兴趣爱好是:"+ss);
}
}

4.5选课窗口编码
package dd;
//选课模块
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//定义实现接口的Lxuanke类,同样继承JFrame父类,用于GUI界面,
//同时实现了ActionListener(事件监听器接口),menuInterface(自己定义的接口)两个接口
public class xuanke extends JFrame implements ActionListener,menuInterface{
	JLabel label1,label2,label3,label4;//定义个标签
	public JButton button1,button2,button3,button4;//定义四个按钮
	JTextField text1,text2,text3,text4;//定义四个文本框
	FlowLayout flow;//定义流式布局对象
	//对接口menuInterface定义的方法进行重写
	public void chaiDanxiang() {
	setLocation(100,100);//位置
	setSize(400,500);//设置框架的尺寸
	setVisible(true);//框架窗口是可见的
	setResizable(false);//窗口大小不可改变
	setTitle("选课窗口");//设置窗口标题为"选课窗口"
	Container con=this.getContentPane();//获得内容面板
	JPanel panel=new JPanel();//创建一个空面板
	con.add(panel);//把面板添加到窗口里面
	panel.setBackground(Color.green);//设置面板的背景色为绿色
	flow=new FlowLayout(1,20,30);//设置流式布局组件间的对齐方式、水平和垂直距离。
	panel.setLayout(flow);//设置面板的布局为流式布局
label3=new JLabel(icon);
	label3.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());;
	this.getLayeredPane().add(label3,new Integer(Integer.MIN_VALUE));
	JPanel j=(JPanel)this.getContentPane();
	j.setOpaque(false);
	panel.setOpaque(false);
	label1=new JLabel("请输入课程号");//创建内容为"请输入课程号"的标签,下面同理
	label2=new JLabel("课名      ");
	label3=new JLabel("学分      ");
	label4=new JLabel("授课教师  ");
	text1=new JTextField(10);
	text2=new JTextField(10);
	text3=new JTextField(10);
	text4=new JTextField(10);
	button1=new JButton("查询");
	button2=new JButton("重置");
	button3=new JButton("保存");
	button4=new JButton("取消");
	button1.addActionListener(this);//注册事件监听器方法
	button2.addActionListener(this);
	button3.addActionListener(this);
	button4.addActionListener(this);
	 panel.add(label1);//把标签label0加到面板中,下面同理
	 panel.add(text1);
	 panel.add(button1);
	 panel.add(button2);
	 panel.add(label2);
	 panel.add(text2);
	 panel.add(label3);
	 panel.add(text3);
	 panel.add(label4);
	 panel.add(text4);
	 panel.add(button3);
	 panel.add(button4);

	 Font font1=new Font("宋体",Font.BOLD,28);//创建字体对象,设置字体,字型,字号
	 label1.setFont(font1);
	 label2.setFont(font1);
	 label3.setFont(font1);
	 label4.setFont(font1);
	 text1.setFont(font1);
	 text2.setFont(font1);
	 text3.setFont(font1);
	 text4.setFont(font1);
	 button1.setFont(font1);
	 button2.setFont(font1);
	 button3.setFont(font1);
	 button4.setFont(font1);
	 }
	//产生的事件对象处理方法
public void actionPerformed(ActionEvent e) {
	if (text1.getText().equals("001")) {//判断text1输入的文本是否等于“001”
		String keName="语文";
		int xuefen=5;
		String teacher="李老师";
		text2.setText(String.valueOf(keName));
		text3.setText(String.valueOf(xuefen));//先将int的xuefen的值转换成String类型,再将转换成Sring类型的值设置为text3的文本,下面同理
		text4.setText(String.valueOf(teacher));
	    }
	if (text1.getText().equals("002")) {
		String keName="英语";
		int xuefen=3;
		String teacher="黄老师";
		text2.setText(String.valueOf(keName));
		text3.setText(String.valueOf(xuefen));
		text4.setText(String.valueOf(teacher));
	    }
	if (text1.getText().equals("003")) {
		String keName="数学";
		int xuefen=5;
		String teacher="胡老师";
		text2.setText(String.valueOf(keName));
		text3.setText(String.valueOf(xuefen));
		text4.setText(String.valueOf(teacher));
	    }
	if(e.getSource()==button2) {//判断是否按下button2,如果是然后进行重置,下面同理
		
		text1.setText("");
		text2.setText("");
		text3.setText("");
		text4.setText("");
	}
   if(e.getSource()==button4) {
	   text1.setText("");
		text2.setText("");
		text3.setText("");
		text4.setText("");
		
	}
		
}
}
4.6计算成绩编码
package dd;
//实现计算成绩模块
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//定义实现接口的Chengji类,同样继承JFrame父类,用于GUI界面,
//同时实现了ActionListener(事件监听器接口),menuInterface(自己定义的接口)两个接口
public class Chengji extends JFrame implements ActionListener,menuInterface{//Frame1.java
JLabel label0,label1,label2,label3,label4,label5;//定义六个标签
JButton button1,button2;//定义两个按钮
JTextField text1,text2,text3,text4,text5;//定义五个文本框
 JPanel panel;//创建一个面板对象
//对接口menuInterface定义的方法chaiDanxiang()进行重写
public void chaiDanxiang() {
setLocation(100,100);//位置
setSize(400,400);//设置框架的尺寸
setResizable(false);//窗口大小不可改变
setVisible(true);//框架窗口是可见的
setTitle("成绩");//设置窗口标题为“成绩”
Container con=this.getContentPane();//获得内容面板
panel=new JPanel();//创建一个空面板
con.add(panel);//把面板添加到窗口里面
panel.setBackground(Color.green);//设置面板的背景色为绿色
 panel.setLayout(null);//布局类型为null
ImageIcon icon=new ImageIcon("img/bg.jpg");

label3=new JLabel(icon);
label3.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());;
this.getLayeredPane().add(label3,new Integer(Integer.MIN_VALUE));
JPanel j=(JPanel)this.getContentPane();
j.setOpaque(false);
panel.setOpaque(false);
label0=new JLabel("请输入三门课程成绩");//创建内容为"请输入三门课程成绩"的标签,下面同理
label1=new JLabel("语文");
label2=new JLabel("数学");
label3=new JLabel("英语");
label4=new JLabel("总分");
label5=new JLabel("平均分");
text1=new JTextField(100);
text2=new JTextField(100);
text3=new JTextField(100);
text4=new JTextField(100);
text5=new JTextField(100);
button1=new JButton("计算");
button2=new JButton("退出");
button1.addActionListener(this);//注册事件监听器方法
button2.addActionListener(this);
panel.add(label0);//把标签label1加到面板中,下面同理
panel.add(label1);
panel.add(label2);
panel.add(label3);
panel.add(label4);
panel.add(label5);
panel.add(text1);
panel.add(text2);
panel.add(text3);
panel.add(text4);
panel.add(text5);
panel.add(button1);
panel.add(button2);
 Font font1=new Font("黑体",Font.BOLD,20);//创建字体对象,设置字体,字型,字号
label0.setFont(font1);//将label1的标签设置为font1这种类型的字体,下面同理
label0.setBounds(100, 0, 300, 50);//对组件进行自定义大小和位置设置x=100,y=0,宽度为300,高度为50,下面同理
label1.setFont(font1);
label1.setBounds(50, 50, 100, 50);
text1.setFont(font1);
text1.setBounds(130, 60, 200, 30);
label2.setFont(font1);
label2.setBounds(50, 90, 100, 50);
text2.setFont(font1);
text2.setBounds(130, 100, 200, 30);
label3.setFont(font1);
label3.setBounds(50, 130, 100, 50);
text3.setFont(font1);
text3.setBounds(130, 140, 200, 30);
label4.setFont(font1);
label4.setBounds(50, 170, 100, 50);
text4.setFont(font1);
text4.setBounds(130, 180, 200, 30);
label5.setFont(font1);
label5.setBounds(50, 210, 100, 50);
text5.setFont(font1);
text5.setBounds(130, 220, 200, 30);
button1.setFont(font1);
button2.setFont(font1);
button1.setBounds(70, 270, 100, 50);
button2.setBounds(200, 270, 100, 50);
}
//产生的事件对象处理方法
public void actionPerformed(ActionEvent e) {
	//下面这段代码用来计算成绩
if(e.getSource()==button1) {//判断是否按的是button1,如果是将执行下面操作
int a;//定义整型a
double sum,aver;//定义double类型的sum,aver
double t1,t2,t3;
t1=Double.parseDouble((text1.getText()==""||text1.getText()==null)?"0":text1.getText());//输入数据并判断是否为0,如果不是则获取输入的数据,并将其转换为double类型
t2=Double.parseDouble((text2.getText()==""||text1.getText()==null)?"0":text2.getText());
t3=Double.parseDouble((text3.getText()==""||text1.getText()==null)?"0":text3.getText());
sum=t1+t2+t3;//求和
aver=(t1+t2+t3)/3;//求平均值
text4.setText(String.valueOf(sum));//将 double 变量 sum 转换成字符串
text5.setText(String.valueOf(aver));
}else if(e.getSource()==button2) {//判断是否按的是button2
setVisible(false);//界面不可见
dispose();
}
}
}
4.7课程表编码
package dd;
// 课程表模块
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;
//定义KCBdata类,接口TableModel用于实现表格
class KCBdata implements TableModel {
    private String[] title = {
            "周一","周二","周三","周四","周五","周六","周日"
    };//定义了表头

    private String[][] data = new String[8][7];//用来储存数据,并且在构造函数中初始化。
    public KCBdata(){
        for(int i=0;i<data.length;i++)
            for(int j=0;j<data[i].length;j++)
                data[i][j] = "";
    }//构造函数

    public void addTableModelListener(TableModelListener arg0) {
 

    }


    public Class<?> getColumnClass(int arg0) {
    
        return String.class;    //返回表格中储存数据的类的类型
    }

    
    public int getColumnCount() {
     
        return 7;//表示这个表格有几列
    }

    public String getColumnName(int arg0) {
     
        return title[arg0];//返回表头
    }


    public int getRowCount() {
     
        return 8;//表示这个表格有几行
    }


    public Object getValueAt(int arg0, int arg1) {
       
        return data[arg0][arg1];    //得到对应位置的数据
    }

 
    public boolean isCellEditable(int arg0, int arg1) {
     
        return true;//(arg0,agr1)位置的格子是否可以被编辑?给true就可以编辑了
    }

  
    public void removeTableModelListener(TableModelListener arg0) {
      

    }

    public void setValueAt(Object arg0, int arg1, int arg2) {
     
        data[arg1][arg2] = (String)arg0;
        //修改对应位置的数据
    }

}
4.8修改密码编码
package dd;
//负责关于系统的模块
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//定义实现接口的AboutSystem类,同样继承JFrame父类,用于GUI界面,
//同时实现了ActionListener(事件监听器接口),menuInterface(自己定义的接口)两个接口
public class AboutSystem extends JFrame implements ActionListener,menuInterface{
	
	JLabel label1,label2,label3,label4;//定义四个标签
	public JButton button1,button2;//定义两个按钮
	JTextField text1,text2,text3,text4;//定义四个文本框
	FlowLayout flow;//定义流式布局对象
	//对接口menuInterface定义的方法进行重写
	public void chaiDanxiang() {
	setLocation(100,100);//位置
	setSize(500,500);//设置框架的尺寸
	setVisible(true);//框架窗口是可见的
	setResizable(false);//窗口大小不可改变
	setTitle("重新设置密码");//设置窗口标题
	Container con=this.getContentPane();//获得内容面板
	JPanel panel=new JPanel();//创建一个空面板对象
	con.add(panel);//把面板添加到窗口里面
	panel.setBackground(Color.green);//设置面板的背景色为绿色
	flow=new FlowLayout(1,20,30);//设置流式布局组件间的对齐方式、水平和垂直距离。
	panel.setLayout(flow);//设置面板的布局为流式布局
	label1=new JLabel("请输入用户名");//创建内容为"请输入用户名"的标签,下面同理
ImageIcon icon=new ImageIcon("img/Reset.jpg");

	label3=new JLabel(icon);
	label3.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());;
	this.getLayeredPane().add(label3,new Integer(Integer.MIN_VALUE));
	JPanel j=(JPanel)this.getContentPane();
	j.setOpaque(false);
	panel.setOpaque(false);

   
	label2=new JLabel("原密码      ");
	label3=new JLabel("新密码      ");
	label4=new JLabel("确认密码    ");
	text1=new JTextField(10);
	text2=new JTextField(10);
	text3=new JTextField(10);
	text4=new JTextField(10);
	button1=new JButton("保存");
	button2=new JButton("取消");
	button1.addActionListener(this);//注册事件监听器方法
	button2.addActionListener(this);
	 panel.add(label1);//把标签label1加到面板中,下面同理
	 panel.add(text1);
	 panel.add(label2);
	 panel.add(text2);
	 panel.add(label3);
	 panel.add(text3);
	 panel.add(label4);
	 panel.add(text4);
	 panel.add(button1);
	 panel.add(button2);

	 Font font1=new Font("宋体",Font.BOLD,30);//创建字体对象,设置字体,字型,字号
	 label1.setFont(font1);//将label1的标签设置为font1这种类型的字体,下面同理
	 label2.setFont(font1);
	 label3.setFont(font1);
	 label4.setFont(font1);
	 text1.setFont(font1);
	 text2.setFont(font1);
	 text3.setFont(font1);
	 text4.setFont(font1);
	 button1.setFont(font1);
	 button2.setFont(font1);
	 }
	//产生的事件对象处理方法
	public void actionPerformed(ActionEvent e) {
	//下面这段代码用于修改密码
	//try-catch用来异常处理
	try {
	if (!text1.getText().equals("A")) {
	      JOptionPane.showMessageDialog(null, " 用户名输入错误");
	        return;
	    }
	if (!text2.getText().equals("1")) {
	      JOptionPane.showMessageDialog(null, " 旧密码输入错误");
	        return;
	    }
	    if (text2 == null || text3 == null) {
	      JOptionPane.showMessageDialog(null, "信息输入不完整");
	        return;
	    }
	    if (text3!=null&&text3!=null) {
	      if (text3.getText().equals("666666")&&text4.getText().equals("666666")) {
	         JOptionPane.showMessageDialog(null, "修改成功");
	         this.setVisible(false);
	          dispose();
	         new Login1();
	        } else {
	                      JOptionPane.showMessageDialog(null, "密码错误");
	        }
	            } else {
	        JOptionPane.showMessageDialog(null, "两次密码不一致");
	            }
	               } catch (Exception ex) {
	            ex.printStackTrace();
	               }
	}
}
4.9小组说明编码

package dd;
//小组说明模块
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//定义实现接口的shouMing类,同样继承JFrame父类,用于GUI界面,
//同时实现了ActionListener(事件监听器接口),menuInterface(自己定义的接口)两个接口
public class shouMing extends JFrame implements menuInterface{//MenuBar1
JPanel panel;//创建一个面板对象
FlowLayout flow;//定义流式布局对象
JLabel label1,label2,label3,label4;//定义四个标签
//对接口menuInterface定义的方法进行重写
 public void chaiDanxiang() {
setLocation(100,100);//位置
setSize(400,400);//设置框架的尺寸
setResizable(false);//窗口大小不可改变
setVisible(true);//框架窗口是可见的
setTitle("菜单");//设置窗口标题为"菜单"
Container con=this.getContentPane();//获得内容面板
panel=new JPanel();//创建一个空面板
con.add(panel);//把面板添加到窗口里面
panel.setBackground(Color.green);//设置面板的背景色为绿色
flow=new FlowLayout();//设置流式布局
panel.setLayout(flow);//设置面板的布局为流式布局
ImageIcon icon=new ImageIcon("img/bg.jpg");

label3=new JLabel(icon);
label3.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());;
this.getLayeredPane().add(label3,new Integer(Integer.MIN_VALUE));
JPanel j=(JPanel)this.getContentPane();
j.setOpaque(false);
panel.setOpaque(false);
label1=new JLabel("小组成员:李婷婷");//创建内容为"小组成员:李婷婷"的标签,下面同理
label2=new JLabel("成员学号:1830151042");
label3=new JLabel("小组成员:李和平");
label4=new JLabel("成员学号:1830151013");
Font font1=new Font("宋体",Font.BOLD,30);//创建字体对象,设置字体,字型,字号
label1.setFont(font1);//将label1的标签设置为font1这种类型的字体,下面同理
label2.setFont(font1);
label3.setFont(font1);
label4.setFont(font1);
panel.add(label1);//把标签label0加到面板中,下面同理
panel.add(label2);
panel.add(label3);
panel.add(label4);
}
}
4.10 接口编码
package dd;
//接口
public interface menuInterface {
	
	public void chaiDanxiang();//定义chaiDanxiang()方法


}
4.11 面向接口类backGrounp1
package dd;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

//负责各菜单背景
//面向接口的类backGrounp1类继承父类JFrame,用于出现GUI界面,
//JFrame是指一个计算机语言-java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。
public class backGrounp1 extends JFrame {
	public void show(menuInterface menu) {
		menu.chaiDanxiang();//接口回调
		}

}

4.12 主函数

package dd;
//主类
public class Gui {

	public static void main(String[] args) {
		backGrounp1 ba=new backGrounp1();//创建backGrounp1类的对象ba
		
		ba.show(new Login1());//调用backGrounp1类的方法show(),实现接口回调
	}

}

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 记忆测试软件1.1. 设计内容1.2. 设计要求1.3. 总体设计1.4. 具体设计1.4.1. 运行效果与程序发布1.4.2. 主类Memory1.4.3. 方块 Block1.4.4. 记忆测试板MemoryTestPane1.4.5. 显示成绩 ShowRecord1.4.6. 记录成绩 Record1.4.7. 随机排列图标 RandomSetIcon1.4.8. 测试者 People1.5. 课程设计作业第2章 计算器2.1. 设计内容2.2. 设计要求2.3. 总体设计2.4. 具体设计2.4.1. 运行效果与程序发布2.4.2. 主类 ComputerPad2.4.3. 数值按钮NumberButton2.4.4. 运算符号按钮OperationButton2.5. 课程设计作业第3章 HANNOI-塔3.1. 设计内容3.2. 设计要求3.3. 总体设计3.4. 具体设计3.4.1. 运行效果与程序发布3.4.2. 主类 Tower3.4.3. Hannoi-塔 HannoiTower3.4.4. 塔点 TowerPoint3.4.5. 盘子 Disk3.5. 课程设计作业第4章 JPEG图象生成器4.1. 设计内容4.2. 设计要求4.3. 总体设计4.4. 具体设计4.4.1. 运行效果与程序发布4.4.2. 主类 MakeJPEG.java4.5. 课程设计作业第5章 标准化考试系统 (单机版)5.1. 设计内容5.2. 设计要求5.3. 总体设计5.4. 具体设计5.4.1. 运行效果与程序发布5.4.2. 主类EnglishTest5.4.3. 考试区域TestArea5.4.4. 读取试题 ReadTestquestion5.5. 课程设计作业第6章 标准化考试系统 (C/S网络版)6.1. 设计内容6.2. 设计要求6.3. 总体设计6.4. 具体设计6.4.1. 运行效果与程序发布6.4.2. 客户端主类Client6.4.3. 客户端选择试题界面ChoiceFile6.4.4. 客户端考试界面ClientTestArea6.4.5. 服务器端主类Server6.4.6. 服务器端读取试题 ReadTestquestion6.5. 课程设计作业第7章 标准化考试系统 (B/S网络版)7.1. 设计内容7.2. 设计要求7.3. 总体设计7.4. 具体设计7.4.1. 运行效果与程序发布7.4.2. 客户端主类ClientBS7.4.3. 客户端选择试题界面ChoiceFile7.4.4. 客户端考试界面ClientTestArea7.4.5. 服务器端主类Server7.4.6. 服务器端读取试题 ReadTestquestion7.5. 课程设计作业第8章 日历记事本8.1. 设计内容8.2. 设计要求8.3. 总体设计8.4. 具体设计8.4.1. 运行效果与程序发布8.4.2. 主类CalendarPad8.4.3. 记事本NotePad8.4.4. 年Year8.4.5. 月Month8.5. 课程设计作业18.6. 课程设计作业2第9章 学籍管理系统9.1. 设计内容9.2. 设计要求9.3. 总体设计9.4. 具体设计9.4.1. 运行效果与程序发布9.4.2. 主类StudentManager9.4.3. 录入界面StudentSituation9.4.4. 查询界面Inquest9.4.5. 修改界面ModifySituation9.4.6. 删除界面Delete9.4.7. 学生对象Student9.5. 课程设计作业第10章 图书查询系统 (B/S网络版)10.1. 设计内容10.2. 设计要求10.3. 总体设计10.4. 具体设计10.4.1. 运行效果与程序发布10.4.2. 客户端主类DatabaseClient10.4.3. 服务器端主类DatabaseServer10.5. 课程设计作业第11章 中国象棋打谱软件11.1. 设计内容11.2. 设计要求11.3. 总体设计11.4. 具体设计11.4.1. 运行效果与程序发布11.4.2. 主类 Chess11.4.3. 对弈棋盘ChessBoard11.4.4. 棋子ChessPiece11.4.5. 棋点 ChessPoint11.4.6. 走棋法则Rule11.4.7. 步骤MoveStep11.4.8. 记录棋谱MakeChessManual11.4.9. 棋谱演示Demon11.5. 课程设计作业111.6. 课程设计作业2第12章 魔板游戏12.1. 设计内容12.2. 设计要求12.3. 总体设计12.4. 具体设计12.4.1. 运行效果与程序发布12.4.2. 主类PuzzleFrame12.4.3. 魔板PuzzlePad12.4.4. 魔板中的点SquarePoint12.5. 课程设计作业第13章 挖雷游戏13.1. 设计内容13.2. 设计要求13.3. 总体设计13.4. 具体设计13.4.1. 运行效果与程序发布13.4.2. 主类Game13.4.3. 方块 Block13.4.4. 雷区 MineSquare13.4.5. 雷标数目 FindAroundMineMarkNumber13.4.6. 雷标判断 DetermineMineMarkIsRightOrWrong13.4.7. 成片挖开区域 DetermineDigArea13.4.8. 无雷连通区 FindSafeArea13.4.9. 随机布雷 RandomSetMine13.4.10. 周围地雷个数FindAroundMineNumber13.4.11. 显示剩余雷数CountMine13.4.12. 计时器TimeCount13.4.13. 英雄榜录入对话框Record13.4.14. 显示英雄榜对话框ShowRecord13.4.15. 挖雷成功DecideWinner13.5. 课程设计作业第14章 网络聊天室 (B/S模式)14.1. 设计内容14.2. 设计要求14.3. 总体设计14.4. 具体设计14.4.1. 运行效果与程序发布14.4.2. 客户端主类ClientChat14.4.3. 客户端输入妮称界面InputNameTextField14.4.4. 客户端聊天界面ChatArea14.4.5. 服务器端主类ChatServer14.5. 课程设计作业第15章 局域网络广播系统15.1. 设计内容15.2. 设计要求15.3. 总体设计15.4. 具体设计15.4.1. 运行效果与程序发布15.4.2. 客户端主类Receive15.4.3. 服务器端主类BroadCastWord15.5. 课程设计作业
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值