1.思路与分析
首先我们需要提供几个面板,一些菜单栏以及一些按钮,按照你所需要拼成的图片的一些小切片(可以4*4或者5*5,总之按照你的图片大小来定),定义一个控制图片移动的函数,还需要对你的函数方法及菜单按钮提供监听,然后我们就可以将这些想法付诸行动了。
2.程序代码及分析
1.拼图游戏app总代码
package op1;
public class App {
public static void main(String[] args) {
// new RegistFrame(); //注册
new LoginFrame(); //登录
// new GameFrame(); //游戏
}
}
我们由登录页面引出其他页面,先调用登录函数,运行代码时,先弹出登录页面
如果输入为空,则会弹出如下提示框
如果输入错误或者没有注册,则会弹出如下提示框
随后弹出注册页面
如果输入为空,则会弹出如下提示框
如果注册成功,则会弹出如下提示框
然后便可进入登录页面,进行登录
随后进入游戏页面
2.登录页面代码
package op1;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.*;
public class LoginFrame extends JFrame implements ActionListener {
JFrame dk = new JFrame("登录");
// 添加按钮
JButton login = new JButton("登录");
JButton exit = new JButton("退出");
// 添加标签
JLabel name1 = new JLabel("用户名");
JLabel pwd1 = new JLabel("密码");
// 添加文本输入框
JTextField name = new JTextField(13);
JTextField password = new JTextField(13);
public LoginFrame() {
initLoginJFrame();// 初始化界面
}
private void initLoginJFrame() {
dk.setSize(210, 200);
dk.setAlwaysOnTop(true);
// dk.setLocationRelativeTo(null);
dk.setDefaultCloseOperation(2);
dk.setLayout(new FlowLayout());
dk.add(name1);
dk.add(name);
dk.add(pwd1);
dk.add(password);
dk.add(login);
dk.add(exit);
login.addActionListener(this);
exit.addActionListener(this);
dk.setVisible(true);
}
private void initView() {
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == login) {
if (name.getText().equals("") || password.getText().equals("")) { 当用户名或密码文本框内的内容为空时
JOptionPane.showMessageDialog(this, "用名或密码不能为空");// 出现对话框提醒