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(),实现接口回调
}
}
JAVA简单课程设计有文档和源代码
最新推荐文章于 2024-06-14 21:31:34 发布