gui实现2048小游戏

这篇博客详细介绍了如何使用Java GUI来实现2048小游戏的登录和注册功能。通过创建`LoginJFrame`和`RegisterJFrame`类,利用JFrame、JButton、JTextField等组件设计用户界面,并实现了鼠标监听和文本输入验证,确保用户能够顺利登录和注册进入2048游戏。
摘要由CSDN通过智能技术生成

gui实现2048小游戏

1.登录模块
public class LoginJFrame extends JFrame implements MouseListener{
//登录按钮
JButton login = new JButton();
//注册按钮
JButton register = new JButton();
//用户名输入文本框
JTextField username = new JTextField();
//密码输入文本框
JTextField password = new JTextField();
//弹窗提示
JDialog jDialog = new JDialog();
//Arraylist集合存取用户数据
ArrayList userlist;
ArrayList usernamelist;

public LoginJFrame(ArrayList userlist,ArrayList usernamelist) {
this.userlist = userlist;
this.usernamelist = username;
initFrame();
initView();
setVisible(true);
}

public void initView() {

//创建JLabel添加用户名文字
JLabel usernameText = new JLabel(new ImageIcon(“C:\Users\全息\Desktop\图片&代码\2048登录注册\用户名.jpg”));
usernameText.setBounds(116, 135, 51, 19);
username.setBounds(195, 134, 200, 30);

//创建JLabel添加密码文字
JLabel passwordText = new JLabel(new ImageIcon(“C:\Users\全息\Desktop\图片&代码\2048登录注册\密码.jpg”));
passwordText.setBounds(130, 195, 35, 18);
password.setBounds(195, 195, 200, 30);

login.setIcon(new ImageIcon(“C:\Users\全息\Desktop\图片&代码\2048登录注册\登录.png”));
login.setBounds(133, 260, 90, 40);
//给登录按钮绑定鼠标监听
//当事件被触发之后,执行当前类中的对应方法
login.addMouseListener(this);

register.setIcon(new ImageIcon(“C:\Users\全息\Desktop\图片&代码\2048登录注册\注册.png”));
register.setBounds(256, 260, 90, 40);
register.addMouseListener(this);

JLabel backGround = new JLabel(new ImageIcon(“C:\Users\全息\Desktop\图片&代码\2048登录注册\background.png”));
backGround.setBounds(0, 0, 470, 390);

//绑定组件
this.getContentPane().add(username);
this.getContentPane().add(password);
this.getContentPane().add(usernameText);
this.getContentPane().add(passwordText);
this.getContentPane().add(login);
this.getContentPane().add(register);
this.getContentPane().add(backGround);
}
public void initFrame() {
//大小
setSize(488, 430);
//居中
setLocationRelativeTo(null);
//置顶
setAlwaysOnTop(true);
//关闭模式
setDefaultCloseOperation(3);
//取消内部默认布局
setLayout(null);
}

@Override
public void mouseClicked(MouseEvent e) {
//校验用户输入的用户名和密码是否正确。
//得到文本输入框里面的文本(内容)
/*//1.得到用户输入的用户名和密码
//2.比较
//3.根据不同的结果做出不同的反应
//如果正确,进入游戏界面
//如果不正确,弹出错误提示。

*/
String text = username.getText();
String text1 = password.getText();
if (e.getSource() == login) {
if("".equals(username.getText()) && “”.equals(password.getText())){
System.out.println(“用户名和密码为空”);
showDialog(“小样,还没输用户名和密码呢”);
}
User e1 = new User(username.getText(), password.getText());
userlist.add(e1);
if (userlist.contains(e1) ) {
System.out.println(“用户名和密码正确”);
//把当前的登录界面关闭
this.setVisible(false);
//展示游戏界面.equals(text)get(1).getPassword().equals(text1)
new MainFrame();
} else {
System.out.println(“用户名和密码错误”);
//如果错误了,还需要给出弹框

showDialog(“小样,用户名和密码输错了”);
}
}else if(e.getSource() == register){
System.out.println(“111”);
this.setVisible(false);
//点击了注册按钮
new RegisterJFrame(userlist,usernamelist);
}
}

//该方法用于展示一个弹框
//形参:表示当前弹框展示的内容
public void showDialog(String content) {
//JDialog就是一个弹框,跟JFrame是一样的
//isVisible表示判断弹框是否展示出来,
//如果没有展示出来,我们才进行设置,并展示
if(!jDialog.isVisible()){
//设置弹框的宽和高
jDialog.setSize(100, 100);
//居中
jDialog.setLocationRelativeTo(null);
//置顶
jDialog.setAlwaysOnTop(true);
//删除弹框中所有的内容
jDialog.getContentPane().removeAll();
//创建一个JLabel去编写文本内容
JLabel jLabel = new JLabel(content);
//把文本添加到弹框当中
jDialog.add(jLabel);
//把弹框展示出来
jDialog.setVisible(true);
}
}

@Override
public void mousePressed(MouseEvent e) {
//修改背景图片
//判断一下,当前按下的是否为登录按钮
if (e.getSource() == login) {
login.setIcon(new ImageIcon(“C:\Users\全息\Desktop\图片&代码\2048登录注册\登录按下.png”));
}
}

@Override
public void mouseReleased(MouseEvent e) {
//当鼠标松开的时候,需要把背景色改回来
if (e.getSource() == login) {
login.setIcon(new ImageIcon

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值