java学生管理系统界面简单实现(全)

作者:sunlanchang 时间:2023-11-28 21:35:25 

学生管理系统简单的实现,供初学Java Swing同学学习使用。


import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

//主类,程序的入口
public class begin
{
public static void main(String[] args)
{
new begindemo("这是我的管理系统");
}
}

class begindemo extends JFrame
{
//登录的用户名和密码
private final String userName = "123";
private final String password = "123";
//声明屏幕的宽高,程序窗口的宽高
private int windowWidth;
private int windowHeight;
private int screenSizeWidth;
private int screenSizeHeight;

//构造函数,
public begindemo(String title)
{
super(title); //设置标题
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置能关闭窗口
this.setSize(600, 600); //设置窗口的大小
this.setLayout(null); //设置程序默认布局格式为空,以便于后期自己简单的设置布局
this.setResizable(false); //设置不可缩放
init();   //执行初始化函数(将用户名密码等组件加入到面板中)
this.setVisible(true); //使程序可见
}

public void init()
{
//给屏幕的宽度高度,程序窗口的宽度高度赋值
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
screenSizeWidth = (int) dimension.getWidth();
screenSizeHeight = (int) dimension.getHeight();
windowWidth = this.getWidth();
windowHeight = this.getHeight();
//设置程序窗口的位置为屏幕的正中央
this.setLocation(screenSizeWidth / 2 - windowWidth / 2,
 screenSizeHeight / 2 - windowHeight / 2);

// 声明姓名,密码的标签
JLabel username_label = new JLabel("姓名");
JLabel password_label = new JLabel("密码");
// 声明姓名输入框和密码输入框
final JTextField user_field = new JTextField();
final JPasswordField password_field = new JPasswordField();
//声明登录按钮
JButton login_btn = new JButton("登录");

//设置各个标签和输入框的大小和位置
username_label.setBounds(150, 100, 100, 50);
password_label.setBounds(150, 200, 100, 50);
user_field.setBounds(200, 100, 300, 50);
password_field.setBounds(200, 200, 300, 50);
login_btn.setBounds(300, 300, 100, 50);

this.add(username_label);
this.add(password_label);
this.add(user_field);
this.add(password_field);
this.add(login_btn);

//登录按钮的 *
login_btn.addActionListener(new ActionListener()
{
 @SuppressWarnings("deprecation")
 @Override
 //当按钮被单击时自动调动这个方法
 public void actionPerformed(ActionEvent event)
 {
 //如果用户名和密码都是123,那么弹出对话框显示登录成功,并且开启另一个主框架(主页)
 if (user_field.getText().equals(userName)
  && password_field.getText().equals(password))
 {
  JOptionPane.showMessageDialog(null, "登录成功", "Login",
   JOptionPane.INFORMATION_MESSAGE);
  //声明主页
  JFrame home_page = new JFrame("主页");
  //给主页设置位置
  home_page.setLocation(screenSizeWidth / 2 - windowWidth / 2
   + 50, screenSizeHeight / 2 - windowHeight / 2 + 50);
  //给主页设置大小
  home_page.setSize(windowWidth, windowHeight);
  //设置主页能够关闭,并且登录成功后将登录页面隐藏
  home_page.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  home_page.setVisible(true);
  setVisible(false);//登录页面隐藏
 } else //反之,登录不成功,重新登录
 {
  JOptionPane.showMessageDialog(null, "登录失败,请重新登录", "Login",
   JOptionPane.INFORMATION_MESSAGE);
  //设置输入框的内容为空,让用户重新输入
  user_field.setText("");
  password_field.setText("");
 }
 }
});

}
}

添加了一个学生的类,方便以后使用


package demo;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

//主类,程序的入口
public class begin
{
public static void main(String[] args)
{
new begindemo("这是我的管理系统");
new student();
}
}

class begindemo extends JFrame
{
//登录的用户名和密码
private final String userName = "123";
private final String password = "123";
//声明屏幕的宽高,程序窗口的宽高
private int windowWidth;
private int windowHeight;
private int screenSizeWidth;
private int screenSizeHeight;

//构造函数,
public begindemo(String title)
{
super(title); //设置标题
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置能关闭窗口
this.setSize(600, 600); //设置窗口的大小
this.setLayout(null); //设置程序默认布局格式为空,以便于后期自己简单的设置布局
this.setResizable(false); //设置不可缩放
init();   //执行初始化函数(将用户名密码等组件加入到面板中)
this.setVisible(true); //使程序可见
}

public void init()
{
//给屏幕的宽度高度,程序窗口的宽度高度赋值
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
screenSizeWidth = (int) dimension.getWidth();
screenSizeHeight = (int) dimension.getHeight();
windowWidth = this.getWidth();
windowHeight = this.getHeight();
//设置程序窗口的位置为屏幕的正中央
this.setLocation(screenSizeWidth / 2 - windowWidth / 2,
 screenSizeHeight / 2 - windowHeight / 2);

// 声明姓名,密码的标签
JLabel username_label = new JLabel("姓名");
JLabel password_label = new JLabel("密码");
// 声明姓名输入框和密码输入框
final JTextField user_field = new JTextField();
final JPasswordField password_field = new JPasswordField();
//声明登录按钮
JButton login_btn = new JButton("登录");

//设置各个标签和输入框的大小和位置
username_label.setBounds(150, 100, 100, 50);
password_label.setBounds(150, 200, 100, 50);
user_field.setBounds(200, 100, 300, 50);
password_field.setBounds(200, 200, 300, 50);
login_btn.setBounds(300, 300, 100, 50);

this.add(username_label);
this.add(password_label);
this.add(user_field);
this.add(password_field);
this.add(login_btn);

//登录按钮的 *
login_btn.addActionListener(new ActionListener()
{
 @SuppressWarnings("deprecation")
 @Override
 //当按钮被单击时自动调动这个方法
 public void actionPerformed(ActionEvent event)
 {
 //如果用户名和密码都是123,那么弹出对话框显示登录成功,并且开启另一个主框架(主页)
 if (user_field.getText().equals(userName)
  && password_field.getText().equals(password))
 {
  JOptionPane.showMessageDialog(null, "登录成功", "Login",
   JOptionPane.INFORMATION_MESSAGE);
  //声明主页
  JFrame home_page = new JFrame("主页");
  //给主页设置位置
  home_page.setLocation(screenSizeWidth / 2 - windowWidth / 2
   + 50, screenSizeHeight / 2 - windowHeight / 2 + 50);
  //给主页设置大小
  home_page.setSize(windowWidth, windowHeight);
  //设置主页能够关闭,并且登录成功后将登录页面隐藏
  home_page.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  home_page.setVisible(true);
  setVisible(false);//登录页面隐藏
 } else //反之,登录不成功,重新登录
 {
  JOptionPane.showMessageDialog(null, "登录失败,请重新登录", "Login",
   JOptionPane.INFORMATION_MESSAGE);
  //设置输入框的内容为空,让用户重新输入
  user_field.setText("");
  password_field.setText("");
 }
 }
});

}
}

//声明一个学生类,方便以后添加学生信息用
class student
{
private String name;
private String sex;
private int number; //学号
private String class_; //班级
private double grade;

//默认构造函数,new一个对象的时候会自动调用
public student()
{
this.name = "";
this.number = 0;
this.class_ = "";
this.grade = 0;
System.out.println("这是一个学生");
}

//重载的构造函数
public student(String name, int number, String class_, double grade)
{
this.name = name;
this.number = number;
this.class_ = class_;
this.grade = grade;
}

//下面是设置名字性别学号等的函数,以后在输入学生信息存储的时候会调用,现在先写出来方便以后调用
public void setName(String name)
{
this.name = name;
}

public void setSex(String sex)
{
this.sex = sex;
}

public void setNumber(int number)
{
this.number = number;
}

public void setClass(String class_)
{
this.class_ = class_;
}

public void setGrade(double grade)
{
this.grade = grade;
}

//下面是几个得到学生姓名性别等的函数,在以后显示学生信息的时候调用它来显示学生的信息到窗口上。
public String getName()
{
return this.name;
}

public String getSex()
{
return this.sex;
}

public int getNumber()
{
return this.number;
}

public String getClass_()
{
return this.class_;
}

public double getGrade()
{
return this.grade;
}

//和上面的函数差不多用来一下设置一个学生的所有个人信息
public void setAll(String name, String sex, int number, String class_,double grade)
{
this.name=name;
this.number=number;
this.sex=sex;
this.class_ = class_;
this.grade = grade;
}

//一下得到一个学生的所有信息,就不用一个一个getName或者getSex了
public String getAll()
{
String output="";
output+=getName()+" "+getSex()+" "+getNumber()+" "+getClass_()+" "+getGrade();
return output;
}
}

更多学习资料请关注专题《管理系统开发》。

来源:http://blog.csdn.net/sunlanchang/article/details/53202416

标签:java,管理系统
0
投稿

猜你喜欢

  • Java设计模式中的观察者模式

    2021-08-22 01:27:20
  • 基于SpringBoot多线程@Async的使用体验

    2021-07-15 04:47:04
  • java配置多个过滤器优先级以及几个常用过滤器操作

    2023-12-17 01:52:10
  • Android 实现可任意拖动的悬浮窗功能(类似悬浮球)

    2023-08-07 10:19:05
  • Android编程实现VideoView循环播放功能的方法

    2021-12-05 15:31:42
  • PageHelper插件实现一对多查询时的分页问题

    2021-11-05 07:02:34
  • Android实现图片拖拉功能

    2023-03-27 14:57:51
  • mybatis注入Date日期值为null的解决方法

    2021-12-08 01:49:17
  • Android so的热升级尝试

    2023-08-07 22:41:59
  • C++对string进行大小写转换操作方法

    2023-11-03 04:32:59
  • 简单的观察者模式示例分享

    2023-02-11 12:52:12
  • IntelliJ IDEA2021.1 配置大全(超详细教程)

    2023-06-24 01:48:44
  • springboot整合微信支付sdk过程解析

    2021-12-30 22:47:29
  • Java String源码分析并介绍Sting 为什么不可变

    2021-09-23 06:10:42
  • Android使用 Retrofit 2.X 上传多文件和多表单示例

    2023-08-06 03:48:25
  • C#中+=是什么意思及+=的用法

    2023-07-11 23:25:31
  • Unity使用多态制作计算器功能

    2022-10-15 02:50:06
  • Jetpack navigation组件超详细讲解

    2021-07-17 08:49:58
  • springboot使用校验框架validation校验的示例

    2021-06-10 18:20:25
  • 使用android隐藏api实现亮度调节的方法

    2022-10-16 23:37:36
  • asp之家 软件编程 m.aspxhome.com