复习Java第一个项目学生信息管理系统 01(界面部分) &Java面试题抽象类和接口&生活【记录一个咸鱼大学生三个月的奋进生活】013

本文回顾了一个使用Java和SqlServer构建的学生信息管理系统,应用了MVC设计模式,涵盖权限操作、信息增删改查等功能。讨论了界面部分,包括WelcomePanel、LoginFrame和MainFrame的实现,并提及Java面试中关于抽象类和接口的知识点。
摘要由CSDN通过智能技术生成

复习Java(学生信息管理系统01界面部分)

  首先说一下这个项目背景,这个项目是学校老师委托我做的,是基于Java和SqlServer,MVC设计模式编写而成的,因为当时就刚好学到这块知识了然后就答应了老师做这个项目,整个项目完成一共用了一周时间(包括了给他们把原本的学生信息录入的时间),直到现在那个老师的学院还在用我做的这个信息管理系统。
  该项目包含功能:权限操作,增加信息,删除信息,查询信息,修改信息,分类显示信息,持久存储数据等。

  而且该项目使用了符合公司开发的MVC分层设计模式,今天先从view界面层开始一步一步开始复习。
  每个代码的意思我也在备注里标注的很清楚了,再有不明白的或者改进意见的大家可以在评论区指出!

设置背景(WelcomePanel)类

该类是为了让登录界面实例化然后上图片背景的

package com.sm.framework.view;

// 这是设置背景图片的Jpanel,供登录页面LoginPanel直接实例化使用背景

import java.awt.Graphics;

import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class WelcomePanel extends JPanel{
   
	private ImageIcon img = null;
	
	// 构造方法
	public WelcomePanel() {
   
		img = new ImageIcon("./img/login.png");        // 实例化img图片
	}

	// paintComponent设置背景的方法
	@Override
	protected void paintComponent(Graphics g) {
             // g就相当于背景设置的画笔
	
		g.drawImage(this.img.getImage(), 0, 0, this.getWidth(), this.getHeight(), this);
		// g.drawImage(this.图片实例化的命.getImage(), x从哪开始, y从哪开始, this.getWidth(), this.getHeight(), this);
	
	}
	
}

登录界面(LoginFrame)类

该类是之后供用户登录的界面,里面牵扯到 JavaSwing 的JPanel、JLabel、JTextField、JPasswordField、JButton 以及 精确布局管理器GridBagLayout 的使用,如果不清楚的可以到我的这个文章里仔细看下如何使用:复习javaswing各种组件以及功能

public class LoginFrame extends JFrame{
   

	private MisUser loginUser = null;                   // 这个loginUser是获取用户输入的用户名以及密码看是否在权限数据库中存在
	
	private JPanel panelBody = null;                    // 总的bodypanel块
	private JLabel labelTitle = null;                   // 标题panel
	private JLabel labelName = null;                    // 用户名
	private JTextField fieldName = null;                // 填写用户名文字域
	private JLabel labelPassword = null;                // 密码
	private JPasswordField fieldPassword = null;        // 填写密码文字域
	
	private JPanel panelButton = null;                  // 底部按钮的panel
	private JButton buttonLogin = null;                 // 登录按钮
	private JButton buttonReset = null;                 // 重置按钮
		
	
	// 窗体的编写
	private void init() {
   
		Container content = this.getContentPane();                       // 实例化ContentPane
		content.setLayout(new BorderLayout());                           // 并设置其为BorderLayout
		
		this.panelBody = new WelcomePanel();                             // 用背景panel实例化JPanel这样给窗体背景
		
		this.panelBody.setLayout(new GridBagLayout());                   // 通过setLayout方法设置GridBagLayout精确布局管理器
		this.panelBody.setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, new Color(24, 108, 224)));    // 这是设置边框及颜色的代码,new Color( , , )是通过三元素进行设置
		
		content.add(this.panelBody, BorderLayout.CENTER);                // 将panelbody设进content
		
		GridBagConstraints constraints = new GridBagConstraints();       // 实例化GridBagConstraints精确布局管理器constraints放入
		
		this.labelTitle = new JLabel("学生信息管理系统登录");
		this.labelTitle.setForeground(Color.WHITE);                      // setForeground() 设置文字颜色的方法
		this.labelTitle.setFont(new Font("楷体", Font.BOLD, 18));        // setFont(new Font("字体", Font.样式, 字体大小))    设置字体样式的方法
		constraints.gridx = 1;
		constraints.gridy = 0;
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aspiriln

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值