package oneFram;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.Border;
import com.A.CodePicture;
import oneFram.connectiontomysql;
import twoFram.MainFram;
public class work extends JFrame implements ActionListener{ //继承窗体类
private JLayeredPane layeredPane;//分层窗格【背景图片】
private JRadioButton rbadmin;
private JRadioButton rbteacher;
private JRadioButton rbstu;
private final JPanel contentPane;
JButton yhm,mm,dl,d2,d3,zhuce; //用户名,密码,登录,注册
JTextArea t; //窗口标题
Point pressedPoint; //窗体鼠标移动事件
JCheckBox JCheckBox1; //显示密码
JTextField JTextField1; //文本框
JPasswordField JPasswordField1; //密码框
public String lgrole;//登录者身份:管理员、教师,学生
public String lgname;//登录者ID
connectiontomysql connectiontomysql=new connectiontomysql();
private JTextField textField;
/**
* 构造方法,添加组件的初始化方法
*/
public work() {
this.contentPane = new JPanel();
this.image(); //添加背景图片方法
this.init(); //组件初始化方法
this.addListener(); //添加组件监听方法
getContentPane().add(layeredPane);
textField = new JTextField("");
textField.setToolTipText("\u7528\u6237\u8D26\u53F7\u5FC5\u987B\u4E3A6~10\u4F4D\u5B57\u6BCD\u6216\u8005\u6570\u5B57\u7EC4\u6210!");
textField.setOpaque(false);
textField.setFont(new Font("宋体", Font.PLAIN, 15));
textField.setColumns(10);
textField.setBounds(170, 178, 171, 36);
layeredPane.add(textField);
this.setResizable(false); //窗体不能改变大小
this.setTitle("学生选课管理系统登录"); //窗口设置标题
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗体关闭则停止出现,释放资源
setBounds(565, 200, 500, 400); //设置窗口位置与大小
this.setLocationRelativeTo(null); //设置窗口居中
Image img=Toolkit.getDefaultToolkit().getImage("image/0.jpg"); //用以接收图片的URL,窗口图片
this.setIconImage(img);//添加图片
}
/**
* 为窗口添加背景图片【可以完美的显现出来,图片不会因此失真】
*/
private void image() {
layeredPane = new JLayeredPane() {//创建分层窗格,将图片添加入里面,不会遮盖住其他组件
public void paintComponent(Graphics g) {//重写绘制面板的方法
super.paintComponent(g);//调用方法
ImageIcon image = new ImageIcon("src//com//backgroun.jpg");//导入图片
//设置图片大小跟随面板大小【关键】
image.setImage(image.getImage().getScaledInstance(this.getWidth(), this.getHeight(), Image.SCALE_AREA_AVERAGING));
g.drawImage(image.getImage(), 0, 0, this);//重新绘制面板
}
};
}
public void init() {
/**
*在窗口中加入显示文字//用户名
*/
yhm = new JButton("用户账号:"); //创建标签组件
yhm.setFont(new Font("宋体", Font.PLAIN, 15));//触碰显示文字提示
yhm.setBounds(73, 61, 82, 36); //设置位置与大小
yhm.setBorder(null); //除去边框
yhm.setFocusPainted(false); //除去焦点的框
yhm.setContentAreaFilled(false); //除去默认的背景填充
layeredPane.add(yhm); //向窗体添加组件
/**
*在窗口中加入显示文字//密码
*/
mm = new JButton("用户密码:"); //创建标签组件
mm.setFont(new Font("宋体", Font.PLAIN, 15));//触碰显示文字提示
mm.setBounds(73, 120, 82, 36); //设置位置与大小
mm.setHorizontalAlignment(SwingConstants.CENTER);// 标签文本居中对其
mm.setBorder(null); //除去边框
mm.setFocusPainted(false); //除去焦点的框
mm.setContentAreaFilled(false); //除去默认的背景填充
layeredPane.add(mm); //向窗体添加组件
/**
*在窗口中加入一个文本框
*/
JTextField1 = new JTextField(""); //创建按钮组件
JTextField1.setToolTipText("用户账号必须为6~10位字母或者数字组成!");//触碰显示文字提示
JTextField1.setFont(new Font("宋体", Font.PLAIN, 15));// 设置标签控件字体
JTextField1.setBounds(170, 61, 171, 36); //设置位置与大小
JTextField1.setColumns(10); // 设置文本框列数
JTextField1.setOpaque(false); //设置透明
layeredPane.add(JTextField1); //向窗体添加组件
/**
*在窗口中加入一个密码框
*/
JPasswordField1 = new JPasswordField(""); //创建按钮组件
JPasswordField1.setEchoChar('*');
JPasswordField1.setToolTipText("用户密码必须为3~10位字母或者数字组成!");//触碰显示文字提示
JPasswordField1.setFont(new Font("宋体", Font.PLAIN, 15));// 设置标签控件字体
JPasswordField1.setBounds(170, 120, 171, 36); //设置"密码"密码框的位置与大小
JPasswordField1.setOpaque(false); //设置透明
layeredPane.add(JPasswordField1); //向窗体添加组件
/**
*在窗口中加入一个登录按钮
*/
dl = new JButton("登录"); //创建按钮组件
dl.setFont(new Font("宋体", Font.PLAIN, 15)); //设置按钮控件字体
dl.setBounds(153, 258, 65, 30); //设置位置与大小
dl.addActionListener(this);
layeredPane.add(dl);
d3 = new JButton("取消");
d3.setFont(new Font("宋体", Font.PLAIN, 15));
d3.setBounds(263, 258, 65, 30);
d3.addActionListener(this);
layeredPane.add(d3);//向窗体添加组件
JButton btnCancle_1 = new JButton("找回密码");
btnCancle_1.setFont(new Font("宋体", Font.PLAIN, 12));
btnCancle_1.setBounds(238, 309, 90, 30);
btnCancle_1.setBorder(null); //除去边框
btnCancle_1.setFocusPainted(false); //除去焦点的框
btnCancle_1.setContentAreaFilled(false); //除去默认的背景填充
btnCancle_1.addActionListener(this);//添加事件侦听
layeredPane.add(btnCancle_1);
zhuce = new JButton("注册"); //创建按钮按钮
zhuce.setFont(new Font("宋体", Font.PLAIN, 12));//设置按钮控件字体
zhuce.setBounds(327, 309, 65, 30); //设置位置与大小
zhuce.setBorder(null); //除去边框
zhuce.setFocusPainted(false); //除去焦点的框
zhuce.setContentAreaFilled(false); //除去默认的背景填充
// zhuce.setIcon(new ImageIcon("src/注册.png"));//添加背景
layeredPane.add(zhuce); //向窗体添加组件
/**
验证码,看不清
换一张
*/
JLabel label3 = new JLabel("\u9A8C\u8BC1\u7801:");
label3.setFont(new Font("宋体", Font.PLAIN, 15));
label3.setBounds(83, 176, 70, 40);
layeredPane.add(label3);
JLabel code = new JLabel();
Object[] obj = CodePicture.createImage();
ImageIcon img = new ImageIcon((BufferedImage)obj[1]);//创建图片对象
code.setIcon((Icon)img);
code.setBounds(351, 176, 82, 40);
layeredPane.ad
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
系统分为三端登录,分别为管理员,学生以及老师;两端注册,分别为学生以及教师,注册成功需要得到管理员的审核。 管理员可以实现学生,教师人员,课程的添加,信息修改与删除,学生成绩的统计以及自己信息的查看修改和处理,其中,密码修改需要输入旧的密码,三次错误可以找回密码,输入手机号,若手机号匹配得当,则可产生三位数的随机验证码,输入验证码可修改密码。学生可以实现课程选择,以及修改自己的信息,密码修改过程同管理员一样。教师可以实现录入课程信息,删除课程信息,录入学生分数,以及修改自己的信息。
资源推荐
资源详情
资源评论
收起资源包目录
Java swing 学生选课系统 (205个子文件)
work.class 9KB
MainFram.class 7KB
RecordOp.class 7KB
StuList.class 7KB
StuSelectCourse.class 6KB
TeacherList.class 6KB
RecordSearch.class 6KB
ClassManagement.class 6KB
StuInfoManagement.class 5KB
RecordManagement.class 5KB
MajorList.class 5KB
Record_Add.class 5KB
Selectrecord.class 5KB
Stu_Add.class 5KB
CourseList.class 5KB
ZhuCe.class 5KB
ZC.class 5KB
Teacher_Add.class 5KB
TeacherInfoManagement.class 5KB
Class_Add.class 5KB
StuinfoOp.class 4KB
Code.class 4KB
FindPassword.class 4KB
ClassOp.class 4KB
TeacherOp.class 4KB
MajorOp.class 4KB
Major_AddFm.class 4KB
CourseOp.class 4KB
Course_Add.class 4KB
CondbcomboBoxeg.class 3KB
Judgeidexit.class 3KB
StuList$3.class 2KB
CodePicture.class 2KB
TeacherList$1.class 2KB
Mf.class 2KB
Tb_stuinfo.class 2KB
comboxeg.class 2KB
Tb_class.class 2KB
ImageEg.class 2KB
Selectrecord$1.class 2KB
RecordManagement$1.class 2KB
connectiontomysql.class 2KB
RecordSearch$2.class 2KB
TableModeByRequired.class 2KB
StuTableModel.class 2KB
RecordSearch$1.class 2KB
TeacherTableModel.class 2KB
Teacher_Add$1.class 1KB
Tb_record.class 1KB
Major_AddFm$2.class 1KB
Record_Add$2.class 1KB
Teacher_Add$2.class 1KB
ClassManagement$1.class 1KB
Course_Add$2.class 1KB
Stu_Add$1.class 1KB
Class_Add$1.class 1KB
Stu_Add$3.class 1KB
Code$1.class 1KB
TableRecordModify.class 1KB
MyTableModel.class 1KB
ZhuCe$1.class 1KB
Tb_major.class 1KB
ZC$1.class 1KB
MajorList$2.class 1KB
MyRecordTableModel.class 1KB
Code$3.class 1KB
work$3.class 1KB
Tb_teacher.class 1KB
DB.class 1KB
CourseList$1.class 1KB
MajorTableModel.class 1KB
Code$RoundBorder.class 1KB
StuSelectCourse$1.class 1KB
TeacherList$2.class 1KB
StuSelectCourse$2.class 1KB
StuList$2.class 1KB
CondbcomboBoxeg$1.class 1KB
StuInfoManagement$1.class 1KB
Code$2.class 1KB
work$2.class 1KB
work$1.class 1KB
Stu_Add$2.class 1KB
comboxeg$1.class 1KB
Tb_course.class 955B
Class_Add$2.class 895B
work$4.class 869B
ZhuCe$2.class 856B
ZC$2.class 835B
Major_AddFm$1.class 757B
Record_Add$1.class 752B
Course_Add$1.class 752B
MajorList$1.class 747B
StuList$1.class 737B
compiler.class 427B
.classpath 532B
.gitignore 50B
xuanke.iml 2KB
mysql-connector-java-8.0.23.jar 2.3MB
mysql-connector-java-8.0.23.jar 2.3MB
work.java 14KB
共 205 条
- 1
- 2
- 3
资源评论
Torlcc
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 代码审计知识点整理-Java.zip
- 从 Python 访问 Java 类.zip
- 交互式 JavaScript 沙箱.zip
- 交互式 JavaScript API 参考.zip
- 使用SSM框架的Java Web项目-电商后台管理.zip
- ffmpeg、ffplay、ffprobe
- 与 FrontendMasters 课程 JavaScript 和 React 模式相关的 repo.zip
- win11系统有ie浏览器,打开ie浏览器自动跳转edge浏览器解决方案
- 基于Spark的新闻推荐系统源码+文档说明(高分项目)
- 27个常用分布函数详细汇总-名称+类别+用途+概率密度曲线+公式-PPT版本
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功