package 学生信息管理系统;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Main{
public static void main (String []args){
AFrame f = new AFrame("学生信息管理系统");
//展示主类,也就是程序入口
}
}
class AFrame extends JFrame{
JButton b1;
JButton b2;
JTextField t1;
JTextField t2;
public AFrame(String title){
super(title);
//调用父类JFrame的构造函数,将指定的title作为窗口的标题。
this.setLayout(null);
//设置布局管理器为null,即使用自定义的布局方式。
Panel p = new Panel();
b1 =new JButton("登陆");
//创建一个按钮对象b1,按钮上显示文本为"登陆"。
b2 =new JButton("取消");
//创建一个按钮对象b2,按钮上显示文本为"取消"。
t1 =new JTextField(25);
//创建一个文本框对象t1,宽度为25个字符。
t1.setFont(new Font("宋体",Font.BOLD,25));
//创建一个密码框对象t2,宽度为25个字符。
t2 =new JPasswordField(25);
//创建一个密码框对象t2,宽度为25个字符。
t2.setFont(new Font("宋体",Font.BOLD,25));
//设置密码框的字体为宋体,加粗,大小为25。
JLabel nameLabel = new JLabel("用户名");
//创建一个标签对象nameLabel,显示文本为"用户名"。
nameLabel.setFont(new Font("宋体",Font.BOLD,25));
//设置标签的字体为宋体,加粗,大小为25。
nameLabel.setHorizontalAlignment(JTextField.CENTER);
//设置标签的文本居中对齐。
JLabel pwdLabel = new JLabel("密码");
//创建一个标签对象pwdLabel,显示文本为"密码"。
pwdLabel.setFont(new Font("宋体",Font.BOLD,25));
//设置标签的字体为宋体,加粗,大小为25。
pwdLabel.setHorizontalAlignment(JTextField.CENTER);
//设置标签的文本居中对齐
//所谓居中对齐实质就是用户名和密码居中对齐
this.setBounds(300,300,1000,500);
//设置窗口的位置和大小,横坐标和纵坐标均为300,窗口的长为1000,宽为500。
this.add(nameLabel);
//将nameLabel标签添加到窗口中。
this.add(t1);
//将t1文本框添加到窗口中。
this.add(pwdLabel);
//将pwdLabel标签添加到窗口中。
this.add(t2);
//将t2密码框添加到窗口中。
this.add(b1);
//将b1按钮添加到窗口中。
this.add(b2);
//将b2按钮添加到窗口中。
nameLabel.setBounds(100,100,200,50);
//设置nameLabel标签在窗口中的位置和大小,参数依次为左上角的横坐标、纵坐标、宽度和高度。
//用户名
pwdLabel.setBounds(100,200,200,50);
//设置pwdLabel标签在窗口中的位置和大小,参数依次为左上角的横坐标、纵坐标、宽度和高度。
//密码
t1.setBounds(600,100,200,50);
//设置t1文本框在窗口中的位置和大小,参数依次为左上角的横坐标、纵坐标、宽度和高度。
//用户名输入文本框
t2.setBounds(600,200,200,50);
//设置t2密码框在窗口中的位置和大小,参数依次为左上角的横坐标、纵坐标、宽度和高度。
//密码输入文本框
b1.setBounds(100,300,200,50);
//设置b1按钮在窗口中的位置和大小,参数依次为左上角的横坐标、纵坐标、宽度和高度。
//b1按钮是登录按钮
b2.setBounds(600,300,200,50);
//设置b2按钮在窗口中的位置和大小,参数依次为左上角的横坐标、纵坐标、宽度和高度。
//b2按钮是取消按钮
b1.addActionListener (new ResponseButton());
//为b1按钮添加一个点击事件的监听器,使用ResponseButton类实现。
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,"单击确定退出");
System.exit(0);
}
});
//为b2按钮添加一个点击事件的监听器,使用匿名内部类实现,点击按钮时弹出一个对话框提示确认退出,
// 并调用System.exit(0)退出程序。
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗口的默认关闭操作为退出程序。
this.setVisible(true);
//设置窗口可见。
getRootPane().setDefaultButton(b1);
//设置窗口的默认按钮为b1按钮,即按下回车键时触发b1按钮的点击事件。
b1.addKeyListener (new KeyAdapter(){
public void keyPressed(KeyEvent e){
if(e.getKeyCode() == KeyEvent.VK_ENTER)
{
AFrame2 f1 = new AFrame2("学生信息管理系统-123456");
}else{
System.out.print(t1.getText());
JOptionPane.showMessageDialog(null, "账号或者密码错误", "Error.mxy",JOptionPane.ERROR_MESSAGE);
}
}
});
//为b1按钮添加一个键盘事件的监听器,使用匿名内部类实现。如果按下回车键,则创建一个AFrame2对象表示学生信息管理系统的主界面;
// 否则,打印t1文本框中的文本并显示错误消息提示框。
}
//下面这段代码便是用于登录验证
public class ResponseButton implements ActionListener{
public void actionPerformed(ActionEvent e){
String str ="123";
//用户名文本
String m = "123";
//密码文本
if(t1.getText().equals(str)&&t2.getText().equals(m) ){
//使用t1.getText()获取t1文本框中的内容,使用t2.getText()获取t2文本框中的内容。
// 也就是读取用户输入的用户名和密码
AFrame2 f1 = new AFrame2("学生信息管理系统-123456");
}else{
System.out.print(t1.getText());
JOptionPane.showMessageDialog(null, "账号或者密码错误", "Error.mxy",JOptionPane.ERROR_MESSAGE);
}
}
}
class AFrame2 extends JFrame{
JButton b3;
JButton b4;
JButton b5;
JButton b6;
public AFrame2(String title){
super(title);
//调用父类JFrame的构造函数,将指定的title作为窗口的标题。
b3 =new JButton("录入");
//创建一个按钮对象b3,按钮上显示文本为"录入"。
b4 =new JButton("查询");
//创建一个按钮对象b4,按钮上显示文本为"查询"。
b5 =new JButton("修改");
//创建一个按钮对象b5,按钮上显示文本为"修改"。
b6 =new JButton("删除");
//创建一个按钮对象b6,按钮上显示文本为"删除"。
this.add(b3);
//将b3按钮添加到窗口中。
this.add(b4);
//将b4按钮添加到窗口中。
this.add(b5);
//将b5按钮添加到窗口中。
this.add(b6);
//将b6按钮添加到窗口中。
b3.setBounds(100,80,160,100);
//设置b3按钮在窗口中的位置和大小,参数依次为左上角的横坐标、纵坐标、宽度和高度。
b4.setBounds(100,290,160,100);
//设置b4按钮在窗口中的位置和大小,参数依次为左上角的横坐标、纵坐标、宽度和高度。
b5.setBounds(300,80,160,100);
//设置b5按钮在窗口中的位置和大小,参数依次为左上角的横坐标、纵坐标、宽度和高度。
b6.setBounds(30
Java课程设计-学生信息管理系统
需积分: 1 12 浏览量
2023-11-19
07:43:14
上传
评论
收藏 10KB ZIP 举报
十小大
- 粉丝: 1w+
- 资源: 2555
最新资源
- 5.23-Java概述,JDK安装及注释、关键字、标识符、数据类型、变量、常量的介绍
- 《Python基础》实验三指导书(1).doc
- TensorFlow 深度学习、机器学习-任何能够用计算流图形来表达的计算,都可以使用TensorFlow
- 一个基于springboot+sureness的面向REST API资源无状态认证权限管理系统
- 王博外文文献.pdf
- python毕业设计基于社区检测的多任务聚类联邦学习项目源码+使用说明(高分项目).zip
- Javaweb项目源码-编程爱好者博客地带.zip
- java各个技术栈相关知识点
- PYthon代码 pdf合并
- 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、 Redis
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈