菜鸟前路---java小游戏的实现(一)

java之注册登录

实现登录注册的界面化以及鼠标操作,可是我从c和c++以来的梦想,激动的一批。。。

我使用idea编译器实现的,
顺便一说,idea nb。。。
OK,言归正传

我们务必把它们放在一个包下(我设的包是com.xuan.main),用两个文件;

1.第一个文件实现操作

/*功能描述:
登录界面有插入了背景图片
实现了登录界面GUI,可以进行 账号注册,和账号登录,对注册的账号用文件进行存储
*/
        package com.xuan.main;
//登录界面
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

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

public class denglu extends JFrame {
    //设置一个含有背景图片的面板
    private MyPanel panel;
    private JLabel lab_zhanghao = new JLabel("账号:");
    private JTextField jta_text = new JTextField();
    Font lab = new Font("楷体",1,30);
    private JLabel lat_password = new JLabel("密码:");
    Font lat  = new Font("楷体",1,30);
    private JPasswordField jtb_text = new JPasswordField();
    private JButton btn_register = new JButton("注册");
    private JButton btn_land = new JButton("登陆");
    Font btn = new Font("黑体",2,30);
    public static  int pd = 0;
    public static String ak1, ak2;
    private Container contentPane = this.getContentPane();

    public denglu () {
        this.setSize(400,267);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        this.setTitle("登陆");
        this.setResizable(false);
        btn_register.addActionListener(new ActionListener() {
            @SuppressWarnings("deprecation")
            public void actionPerformed(ActionEvent e) {
                pd = 1;
                ak1 = jta_text .getText();
                ak2 = jtb_text .getText();
                String fileName = "users.dat";
                try {
                    FileWriter writer = new FileWriter(fileName,true);
                    BufferedWriter outWriter=new BufferedWriter(writer);
                    outWriter.write("ID:"+ak1+"&&"+"Password:"+ak2);
                    outWriter.newLine();
                    outWriter.close();
                    writer.close();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
                jta_text.setText("");
                jtb_text.setText("");
                JOptionPane.showMessageDialog(null,"注册成功! 您的用户名是:"+ak1+"密码是:"+ ak2);
            }
        });
        btn_land.addActionListener(new ActionListener() {
            @SuppressWarnings("deprecation")
            public void actionPerformed(ActionEvent e) {

                if(pd==1||pd==0) {
                    File fileName=new File("users.dat");
                    try{
                        FileReader inOne=new FileReader(fileName);
                        BufferedReader inTwo=new BufferedReader(inOne);
                        String s=null;
                        int judge=1;
                        while((s=inTwo.readLine())!=null)
                        {
                            StringBuilder stringBuilder = new StringBuilder();
                            stringBuilder.append("ID:");
                            stringBuilder.append(jta_text.getText());
                            stringBuilder.append("&&");
                            stringBuilder.append("Password:");
                            stringBuilder.append(jtb_text.getText());
                            String ak=stringBuilder.toString();


                            if(s.equals(ak)) {
                                JOptionPane.showMessageDialog(null, "登录成功!");
                                jta_text .setText("");
                                jtb_text .setText("");
                                judge=0;

                                break;
                            }
                        }
                        inTwo.close();
                        inOne.close();
                        if(judge==1) {
                            JOptionPane.showMessageDialog(null,"登陆失败!检查账号密码是否正确或请注册后登录",null,JOptionPane.ERROR_MESSAGE, null);
                            jta_text .setText("");
                            jtb_text .setText("");
                        }
                    }catch(IOException event){
                        JOptionPane.showMessageDialog(null,"系统错误"+event,null,JOptionPane.ERROR_MESSAGE, null);
                    }
                }
            }

        });

        init();

        panel = new MyPanel();
        //将所有的组件添加到panel面板中
        panel.add(lab_zhanghao);
        panel.add(lat_password);
        panel.add(jta_text);
        panel.add(jtb_text);
        panel.add(btn_register);
        panel.add(btn_land);
        panel.setLayout(null);

        getContentPane().add(panel);
    }
    private void init() {
        lab_zhanghao.setSize(200,100);
        lab_zhanghao. setLocation(50,20);
        lab_zhanghao.setFont(lab);
        lat_password.setSize(200,100);
        lat_password.setLocation(50,80);
        lat_password.setFont(lat);
        jta_text.setSize(190,30);
        jta_text.setLocation(160,55);
        jtb_text.setSize(190,30);
        jtb_text.setLocation(160,115);
        btn_register.setSize(120, 40);
        btn_register.setLocation(60, 180);
        btn_land.setSize(120, 40);
        btn_land.setLocation(230, 180);
        btn_register.setFont(btn);
        btn_land.setFont(btn);
    }

    public static void main(String[] args)
            throws ClassNotFoundException,
            InstantiationException, IllegalAccessException,
            UnsupportedLookAndFeelException {
        UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
        new denglu().setVisible(true);
    }
}

2.第二个文件实现背景

package com.xuan.main;
//登录界面背景
import java.awt.*;
import javax.swing.*;


//自定义一个面板类
class MyPanel extends JPanel{
    public void paintComponent(Graphics g){
        super.paintComponent(g);
        //绘制一张背景图片  2.jpg是图片的路径  自己设定为自己想要添加的图片
        Image image = new ImageIcon("background.jpg").getImage();
        g.drawImage(image, 0, 0, this);
    }
}

今天就到此为止吧。。。
老哥们,加油!
(我真的也只是初学者。。。。。。)

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

恪愚

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

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

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

打赏作者

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

抵扣说明:

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

余额充值