Swing-学生管理系统之主页设计
程序员文章站
2022-05-06 12:57:18
...
最近java课有一个大作业,是让写出来一个学生管理系统。做了一个图,大致就是下面的功能吧。
对Swing并不是很熟悉,一点点的来写,好多函数呀,都不能很好的运用。一点点查阅API,还有强大的互联网,总算是对Swing有更好的理解了。近几天的学的东西,也是时候慢慢总结一下了。
首先是该学生管理系统的主页部分:
第一步,使用的是Java图形化界面设计——布局管理器之CardLayout(卡片布局),本来是想要加入背景图片但是一直出bug,就先放着。
package com.sys.view;
import java.awt.event.*;
import javax.swing.*;
import java.awt.CardLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class TopJFrame extends JFrame{
//JPanel jp=new JPanel()://定义面板并初始化
//JLabel background = new JLabel(new ImageIcon(photo/keda.jpg));
public static CardLayout c;
//面板组件,非顶层容器,一个界面只可以有一个JFrame窗体组件,但是可以有多个JPanel面板组件
public static JPanel jp;
//传入“学生管理系统”几个字
public TopJFrame(String name) {
super(name);
// 定义卡片对象:CardLayout 布局对象名称=new CardLayout();
c = new CardLayout();
jp = new JPanel(c);
/*Icon iocn=new ImageIcon("photo/keda.jpg");//定义图片并初始化,写上图片的绝对路径
String icon = null;
JLabel jl=new JLabel(icon);//把图片放在标签上*/
//窗口关闭分为四种情况,默认情况下,关闭窗口,只隐藏界面,不释放占用的内存
//这个是直接关闭应用程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//这个是主页面的大小
this.setSize(1000,600);
//这个是主页面出现在屏幕上的位置,x,y定义的是左上角的那个点
this.setLocation(250, 100);
//将LoginJpanel和ManagerJpanel加入到该界面上
/*jp.add(new LoginJPanel());
jp.add(new ManagerJpanel());*/
//jp.add(jl);//往面板上添加标签注意:面板JPanel不能之间添加图片iocn,icon需要放在标签JLabel上,才能在JPanel上显示
this.add(jp);
/*参数为boolean类型,resizeable值为true时,表示在生成的窗体可以*改变大小;
resizeable值为false时,表示生成的窗体大小是由程序员决定的,用户不可以*改变*/
this.setResizable(false);
//显示
this.setVisible(true);
}
}
我已经将详细注释标注上去,下图就是效果图:
第二步:在学生管理系统主页,我想,主页就设计成管理员登陆界面,当账号密码正确再进入到管理界面,所以在这个主页,我希望可以加上去,登陆页面以及,帮助页面,这个帮助页面其实就是弹出一个窗体,包含默认的账号和密码。
//帮助-对话框的设计
package com.sys.view;
import javax.swing.JDialog;
import javax.swing.JLabel;
import com.sys.control.DiaListener;
public class HelpDialog extends JDialog{
private JLabel lab1,lab2;
//实例化一个HelpJDialog类对象,指定对话框的父窗体,窗体标题和类型
public HelpDialog() {
this.setTitle("帮助");
this.setLayout(null);
lab1 = new JLabel("登录账号:admin 密码:123456");
//setBounds(x,y,width,height); x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度
lab1.setBounds(35, 40, 210, 30);
//在这个窗体中添加标签
this.add(lab1);
//设置该窗口的大小
this.setSize(300, 150);
//将这个窗口将置于屏幕的*
this.setLocationRelativeTo(null);
//注册一个窗体焦点的监听器
this.addWindowFocusListener(new DiaListener());
//显示按钮
this.setVisible(true);
}
}
这部分就是设计的帮助窗体:
完整程序请移步:
https://download.csdn.net/download/ancientear/10550004
下一篇: 基础链表简单语句(C)_线性表链式实现