使用Java语言编写一款日记软件

*前言:用此款软件记录生活的点滴

项目分析

一、 实验说明
- 环境介绍
本实验在Window平台下,使用Eclipse环境
- 项目介绍
使用java语言实现的一款日记软件。可以实现用户的注册、登录以及对日记的各种操作。
二.涉及知识
重点知识:
(1)简单类的封装
(2)IO流的操作
了解知识:
(1) JDOM解析xml文档
(2) GUI界面布局
(3) 鼠标和键盘事件
三.项目结构
项目结构

设计GUI界面

一.GUI:图形用户界面,GUI本身即一个界面,这个界面包含一个顶层容器Container,容器内包含menu、button、label等组件
二.本节目标
1.实现首页GUI界面
2.实现登录GUI界面
3.实现注册GUI界面
可视化编程:
学习windowbuilder
window builder插件安装教程
三.IndexGUI.java
截图
首页
代码:


    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;

    public class IndexGUI extends JFrame {
   
        //自定义IndexGUI继承JFrame类
        private JPanel contentPane;  //声明面板
        //创建JFrame的类对象声明
        private static IndexGUI frame;

        public static void main(String[] args) {
            init();
        }
        public static void init()  //初始化方法
        {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        frame = new IndexGUI(); //实例化frame
                        frame.setVisible(true); //设置窗体可见性
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
        public IndexGUI() {
            setTitle("KnowYou");  //设置窗体标题
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置默认关闭方式,点击窗体关闭按钮可关闭窗体
            /*x - the new x-coordinate of this component

              y - the new y-coordinate of this component

             width - the new width of this component

             height - the new height of this component  */
            setBounds(100, 100, 650, 400);
            contentPane = new JPanel(); //实例化面板
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); //设置面板大小,位置
            setContentPane(contentPane); //frame添加面板
            contentPane.setLayout(null);  //面板设置布局为null,不可省略。否则页面布局将会杂乱。

            JLabel lblNewLabel = new JLabel("Welcome to use KnowYou"); //标题
            lblNewLabel.setBounds(132, 74, 386, 35);
            lblNewLabel.setFont(new Font("黑体", Font.BOLD | Font.ITALIC, 30));
            contentPane.add(lblNewLabel);

            JButton login = new JButton("Login"); //登陆按钮
            //登陆按钮鼠标事件,当鼠标被点击时调用
            login.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    event_Login(); //登陆事件方法
                }
            });


            //增加键盘事件
            login.addKeyListener(new KeyAdapter() {
                @Override
                public void keyPressed(KeyEvent e) {
                    if(e.getKeyCode()==KeyEvent.VK_ENTER)
                    {
                        event_Login();//登陆事件方法
                    }
                }
            });
            login.setBounds(65, 263, 124, 45);
            contentPane.add(login);

            JButton register = new JButton("Sign Up"); //注册按钮

            //注册鼠标事件
            register.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    event_register(); //注册事件方法
                }
            });

            //注册按钮键盘事件
            register.addKeyListener(new KeyAdapter() {
                @Override
                public void keyPressed(KeyEvent e) {
                    if(e.getKeyCode()==KeyEvent.VK_ENTER)
                    {
                        event_register();//注册事件方法
                    }
                }
            });
            register.setBounds(489, 263, 109, 45);
            contentPane.add(register);

        }

        //对登陆和注册事件进行私有方法封装
        private void event_Login()
        {
            setVisible(false);
            new LoginGUI().loginGUI();
        }

        private void event_register()
        {
            setVisible(false);
            new RegisterGUI().registerGUI();
        }
    }

四.RegisterGUI.java
截图:
注册

    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;

    import com.Joke.util.Register;

    public class RegisterGUI extends JFrame{
   
        private static final long serialVensionUID = 3250371445038102261L;
        private JPanel contentPane;
        private JTextField nametext;//name输入框
        private JTextField IDtext;//ID输入框
        private JTextField passwdtext;//密码输入框

        public void registerGUI(){
            EventQueue.invokeLater(new Runnable() {
                public void run(){
                    try{
                RegisterGUI frame = new RegisterGUI();
                frame.setVisible(true);
                    }catch (Exception e){
                        e.printStackTrace();
                    }
                }
            }
                    );
        }

        public RegisterGUI(){
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100,100,650,400);
            contentPane = new JPanel();
            contentPane.setBorder(new EmptyBorder(5,5,5,
  • 14
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值