Java实训日志07

八、项目开发步骤

(十)创建应用程序类

  • 创建应用程序类,存放全局数据,所有窗口界面都可以共享应用程序类里存放的数据

1、创建app子包

  • net.donogyan.student根包里创建app子包
    在这里插入图片描述

2、创建Application类

  • net.donogyan.student。app包里创建Application
    在这里插入图片描述
package net.dongyan.student.app;

/**
 * 功能:应用程序类,存放全局数据
 * 作者:董艳
 * 日期:2023年06月16日
 */
public class Application {
   
    public static int id;//登录用户标识符
    public static String username;//登录用户名
    public static String password;//登录用户密码
    public static LoginFrame loginFrame;//登录窗口
    public static MainFrame mainFrame;//主窗口
    public static RegisterFrame registerFrame;//注册窗口

}

  • 此时,三个窗口界面类还未创建,因此程序会报错:无法解析符号
    在这里插入图片描述
  • net.dongyan.student根包里创建gui子包(gui:graphical user interface - 图形用户界面),在里面创建三个类:LoginFrame、MainFrame与RegisterFrame。
    在这里插入图片描述
  • 此时,Application类就不会报错
    在这里插入图片描述

(十)创建应用程序类

1、创建主界面窗口MainFrame

  • 先来做一个空白的主界面窗口
  • 继承JFrame类
    在这里插入图片描述
  • 添加构造方法(带标题参数的构造方法)
    在这里插入图片描述
import javax.swing.*;

/**
 * 功能:主界面窗口
 * 作者:董艳
 * 日期:2023年06月16日
 */
public class MainFrame extends JFrame {
   
//构造方法
    public MainFrame(String title) {
   
        super(title);
    }
}
  • 在类的声明部分声明两个变量:状态服务变量与状态变量
    在这里插入图片描述
import javax.swing.*;

/**
 * 功能:主界面窗口
 * 作者:董艳
 * 日期:2023年06月16日
 */
public class MainFrame extends JFrame {
   

    public Status status;//状态对象
    private StatusService statusService;//状态服务对象

    //构造方法
    public MainFrame(String title) {
   

        super(title);
    }
}
  • 创建初始化图形用户界面方法initGUI()
    在这里插入图片描述
public void initGUI() {
                                       
    //创建状态服务对象                                             
    statusService = new StatusServiceImpl();               
    //获取状态对象                                               
    status = statusService.findStatusById(1);              
                                                           
    //设置窗口尺寸                                               
    setSize(800, 640);                                     
    //设置窗口可见                                               
    setVisible(true);                                      
    //设置窗口屏幕居中                                             
    setLocationRelativeTo(null);                           
    //设置窗口标题                                               
    setTitle("学生信息管理系统" + status.getVersion());            
    //设置窗口默认关闭方式                                           
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
}                                                          
  • 在构造方法里调用初始化图形用户界面方法initGUI()
    在这里插入图片描述

  • 编写主方法代码,实例化主窗口,设置空标题,保存到Appllication的变量mainFrame里
    在这里插入图片描述

  • 如果希望单击关闭按钮后,弹出一个询问框,询问用户是否要退出系统,那么就不用采用上述方法,而应该采用注册窗口监听器的方法,通过编写事件处理方法来弹出询问对话框。
    在这里插入图片描述
    在这里插入图片描述

  • 运行程序,查看结果
    在这里插入图片描述

在这里插入图片描述

2、创建用户登录窗口LoginFrame

  • 继承JFrame,创建LoginFrame
    在这里插入图片描述

  • 创建初始化图形用户界面方法
    在这里插入图片描述

private   void  initGUI(){
                             
    //设置窗口大小                                        
    setSize(250,200);                               
    //设置窗口屏幕居中                                      
    setLocationRelativeTo(null);                    
    //设置窗口屏幕不可调整大小                                  
    setResizable(false);                            
    //设置窗口可见                                        
    setVisible(true);                               
    //设置窗口默认关闭操作                                    
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
}                                                   
  • 添加单参构造方法
    在这里插入图片描述
public LoginFrame(String title){
         
    super(title);                     
    initGUI();                        
}                                     
  • 添加主方法,实例化用户登录窗口
    在这里插入图片描述

  • 运行程序,查看结果
    在这里插入图片描述

  • 空白的用户登录窗口,不能调整大小
    在这里插入图片描述

  • 声明用户登录窗口所需变量
    在这里插入图片描述

  • 实例化组件
    在这里插入图片描述

//实例化组件(面板与控件)                       
panel = (JPanel) getContentPane();   
panel1= new JPanel();                
panel2 = new JPanel();               
panel3 = new JPanel();               
                                     
lblUsername = new JLabel("用户名:");    
lblPassword = new JLabel("密  码:");   
txtUsername = new JTextField(15);    
txtPassword = new JPasswordField(15)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值