• 拼图小游戏


    1. package li;
    2. import ui.tu;
    3. //启动类
    4. public class 主 {
    5. public static void main(String[] args) {
    6. new tu(); //创建登陆界面
    7. }
    8. }
    1. package ui;
    2. import javax.swing.*;
    3. import javax.swing.border.BevelBorder;
    4. import java.awt.event.ActionEvent;
    5. import java.awt.event.ActionListener;
    6. import java.awt.event.KeyEvent;
    7. import java.awt.event.KeyListener;
    8. import java.util.Random;
    9. //游戏主界面
    10. public class ru extends JFrame implements KeyListener, ActionListener {
    11. int [][] PosArr=new int[4][4];
    12. int [][] win=new int[][]{
    13. {1,2,3,4},
    14. {5,6,7,8},
    15. {9,10,11,12},
    16. {13,14,15,0}
    17. };
    18. String path="拼图\\image\\animal\\animal3\\";
    19. int step=0; //计步器
    20. //记录空白方块在二维数组中的位置
    21. int x=0,y=0;
    22. //条目
    23. JMenuItem accountItem=new JMenuItem("支持我们(手动狗头)");
    24. JMenuItem prompt=new JMenuItem("提示");
    25. JMenuItem replayItem=new JMenuItem("重新游戏");
    26. JMenuItem reLoginItem=new JMenuItem("重新登录");
    27. JMenuItem closeItem=new JMenuItem("关闭游戏");
    28. JMenuItem BeautyPi=new JMenuItem("美女");
    29. JMenuItem AnimalPi=new JMenuItem("动物");
    30. JMenuItem MotionPi=new JMenuItem("运动");
    31. JMenuItem AboutUser=new JMenuItem("关于用户");
    32. //创建一个主界面
    33. public ru(){
    34. //初始化界面
    35. initJFrame();
    36. //初始化菜单
    37. initJMenuBar();
    38. //初始化并打乱二维数组中的下标
    39. ArrRandom();
    40. //初始化图片
    41. initImage();
    42. //将界面状态设置为显示
    43. this.setVisible(true);
    44. }
    45. //初始化图片
    46. private void initImage() {
    47. //清空所有图片
    48. this.getContentPane().removeAll();
    49. JLabel stepJlbel=new JLabel("步数:"+step);
    50. stepJlbel.setBounds(50,30,100,20);
    51. this.getContentPane().add(stepJlbel);
    52. //判断数组是否顺序相同,相同则代表图片位置同意一样
    53. if(OrderJudgment())
    54. {
    55. JLabel winJlabel=new JLabel(new ImageIcon("拼图/image/win.png"));
    56. winJlabel.setBounds(203,283,197,73);
    57. this.getContentPane().add(winJlabel);
    58. }
    59. for(int i=0; i<4; i++)
    60. {
    61. for(int j=0; j<4; j++)
    62. {
    63. int index=PosArr[i][j];
    64. ImageIcon icon = new ImageIcon(path+(index)+".jpg");
    65. JLabel jLabel = new JLabel(icon);
    66. jLabel.setBounds(105*j+83,105*i+134,105,105);
    67. jLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
    68. this.getContentPane().add(jLabel);
    69. }
    70. }
    71. //添加背景
    72. ImageIcon background=new ImageIcon("拼图\\image\\background.png");
    73. JLabel dataJlabel=new JLabel(background);
    74. dataJlabel.setBounds(40,40,508,560);
    75. this.getContentPane().add(dataJlabel);
    76. //刷新界面
    77. this.getContentPane().repaint();
    78. }
    79. //数组随机
    80. public void ArrRandom() {
    81. Random r=new Random();
    82. int []tmparr={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0};
    83. for (int i = 0; i < tmparr.length; i++) {
    84. int index=r.nextInt(tmparr.length);
    85. int temp=tmparr[index];
    86. tmparr[index]=tmparr[i];
    87. tmparr[i]=temp;
    88. }
    89. for (int i = 0; i < tmparr.length; i++) {
    90. if(tmparr[i] == 0)
    91. {
    92. x=i/4;
    93. y=i%4;
    94. }
    95. PosArr[i/4][i%4]=tmparr[i];
    96. }
    97. }
    98. //菜单设置
    99. private void initJMenuBar() {
    100. //初始化菜单
    101. JMenuBar jMenuBar = new JMenuBar();
    102. JMenu functionJMenu=new JMenu("功能");
    103. JMenu handoffPi=new JMenu("切换图片");
    104. JMenu aboutJMenu=new JMenu("关于");
    105. //添加
    106. functionJMenu.add(handoffPi);
    107. functionJMenu.add(replayItem);
    108. functionJMenu.add(reLoginItem);
    109. functionJMenu.add(closeItem);
    110. //将功能添加进切换图片这个项当中
    111. handoffPi.add(BeautyPi);
    112. handoffPi.add(AnimalPi);
    113. handoffPi.add(MotionPi);
    114. //关于此项添加
    115. aboutJMenu.add(accountItem);
    116. //给条目绑定事件
    117. //重新游戏
    118. replayItem.addActionListener(this);
    119. //重新登录
    120. reLoginItem.addActionListener(this);
    121. //关闭游戏
    122. closeItem.addActionListener(this);
    123. //关于我们
    124. accountItem.addActionListener(this);
    125. //提示
    126. prompt.addActionListener(this);
    127. //关于用户
    128. AboutUser.addActionListener(this);
    129. //更换图片功能绑定条目
    130. //美女、动物、运动
    131. BeautyPi.addActionListener(this);
    132. AnimalPi.addActionListener(this);
    133. MotionPi.addActionListener(this);
    134. //将其添加到大菜单当中
    135. jMenuBar.add(functionJMenu);
    136. jMenuBar.add(aboutJMenu);
    137. jMenuBar.add(prompt);
    138. jMenuBar.add(AboutUser);
    139. this.setJMenuBar(jMenuBar); //给界面设置菜单
    140. }
    141. //界面初始化
    142. private void initJFrame() {
    143. //设置界面长宽
    144. this.setSize(603,680);
    145. this.setTitle("拼图游戏单机版 V1.0");
    146. this.setAlwaysOnTop(true);
    147. this.setLocationRelativeTo(null);
    148. //设置关闭模式
    149. this.setDefaultCloseOperation(3);
    150. this.setLayout(null);
    151. //给整个界面添加键盘监听
    152. this.addKeyListener(this);
    153. }
    154. //判断两个数组数据是否相同
    155. public boolean OrderJudgment(){
    156. for (int i = 0; i < PosArr.length; i++) {
    157. for (int j = 0; j < PosArr[i].length; j++) {
    158. if(PosArr[i][j] != win[i][j]){
    159. return false;
    160. }
    161. }
    162. }
    163. return true;
    164. }
    165. //无内容
    166. @Override
    167. public void keyTyped(KeyEvent e) {
    168. }
    169. //按键按着不松时执行
    170. @Override
    171. public void keyPressed(KeyEvent e) {
    172. //获取当前按键的键值
    173. int code =e.getKeyCode();
    174. //判断是否 X 按键被按下 x的键盘值就是88
    175. if (code == 88) {
    176. //清空图片
    177. this.getContentPane().removeAll();
    178. //显示完整图片
    179. ImageIcon Fullmap=new ImageIcon(path+"\\all.jpg");
    180. JLabel dataJlabel=new JLabel(Fullmap);
    181. dataJlabel.setBounds(83,134,420,420);
    182. this.getContentPane().add(dataJlabel);
    183. //添加背景
    184. JLabel all=new JLabel(new ImageIcon("拼图\\image\\background.png"));
    185. all.setBounds(40,40,508,560);
    186. this.getContentPane().add(all);
    187. //刷新界面
    188. this.getContentPane().repaint();
    189. }
    190. }
    191. //按键松开时执行
    192. @Override
    193. public void keyReleased(KeyEvent e) {
    194. //对 上 下 左 右 的操作进行判断
    195. // 38 40 37 39
    196. int code=e.getKeyCode(); //获取键盘按键的键值
    197. if(code == 37 && y != 0){
    198. PosArr[x][y]=PosArr[x][y-1];
    199. PosArr[x][y-1]=0;
    200. y--;
    201. //初始化图片
    202. initImage();
    203. System.out.println("向左移动");
    204. step++;
    205. }
    206. else if (code == 38 && x != 0) {
    207. PosArr[x][y]=PosArr[x-1][y];
    208. PosArr[x-1][y]=0;
    209. x--;
    210. //初始化图片
    211. initImage();
    212. System.out.println("向上移动");
    213. step++;
    214. }
    215. else if (code == 39 && y != 3) {
    216. PosArr[x][y]=PosArr[x][y+1];
    217. PosArr[x][y+1]=0;
    218. y++;
    219. //初始化图片
    220. initImage();
    221. System.out.println("向右移动");
    222. step++;
    223. }
    224. else if (code == 40 && x!= 3) {
    225. PosArr[x][y]=PosArr[x+1][y];
    226. PosArr[x+1][y]=0;
    227. x++;
    228. //初始化图片
    229. initImage();
    230. System.out.println("向下移动");
    231. step++;
    232. }
    233. //按下 X 显示全图
    234. else if (code == 88) {
    235. //初始化图片
    236. initImage();
    237. }
    238. //按下 A 键则执行一键通关
    239. else if (code == 65) {
    240. PosArr= new int[][]{
    241. {1,2,3,4},
    242. {5,6,7,8},
    243. {9,10,11,12},
    244. {13,14,15,0},
    245. };
    246. x=y=3; //将空白位置的坐标记录下来
    247. //初始化图片
    248. initImage();
    249. }
    250. //按下 C 键图片重新打乱,重新游戏
    251. else if (code == 67) {
    252. step=0; //计步器归零
    253. //将二维数组重新打乱以达到重新将图片打乱的效果
    254. ArrRandom();
    255. //初始化图片
    256. initImage();
    257. System.out.println("重新游戏");
    258. }
    259. else{
    260. return;
    261. }
    262. }
    263. //鼠标动作监听
    264. @Override
    265. public void actionPerformed(ActionEvent e) {
    266. Object obj=e.getSource();
    267. //重新游戏
    268. if(obj == replayItem){
    269. step=0; //计步器归零
    270. //将二维数组重新打乱以达到重新将图片打乱的效果
    271. ArrRandom();
    272. //初始化图片
    273. initImage();
    274. System.out.println("重新游戏");
    275. }
    276. //重新登录
    277. else if (obj == reLoginItem) {
    278. this.dispose(); //关闭当前界面
    279. new ru(); //打开登录界面
    280. System.out.println("重新登录");
    281. }
    282. //关闭游戏
    283. else if (obj == closeItem) {
    284. //关闭虚拟机已到达退出游戏的效果
    285. System.exit(0);
    286. System.out.println("关闭游戏");
    287. }
    288. //收款码弹窗显示
    289. else if(obj == accountItem){
    290. //创建一个弹框对象
    291. JDialog jDialog =new JDialog();
    292. //创建一个图片对象并将其添加到管理容器当中
    293. JLabel jLabel=new JLabel(new ImageIcon("拼图\\image\\收款码.png"));
    294. //设置图片的位置与宽高
    295. jLabel.setBounds(0,0,516,506);
    296. //将管理容器添加到弹框中
    297. jDialog.getContentPane().add(jLabel);
    298. //设置弹框的大小
    299. jDialog.setSize(600,600);
    300. //设置弹框为界面顶置
    301. jDialog.setAlwaysOnTop(true);
    302. //设置弹框为初始居中显示
    303. jDialog.setLocationRelativeTo(null);
    304. //将弹框设置为未关闭则无法操作其他界面
    305. jDialog.setModal(true);
    306. //将弹框设置为显示
    307. jDialog.setVisible(true);
    308. System.out.println("关于我们");
    309. }
    310. //美女、动物、与运动等图片的切换
    311. else if (obj == BeautyPi) {
    312. System.out.println("美女图片");
    313. Random r=new Random();
    314. int index=r.nextInt(10)+1;//随机图片下标
    315. path=new String("拼图\\image\\girl\\girl"+(index)+"\\");
    316. step=0; //计步器归零
    317. ArrRandom();
    318. //生成图片
    319. initImage();
    320. } else if (obj == AnimalPi) {
    321. System.out.println("动物图片");
    322. Random r=new Random();
    323. int index=r.nextInt(8)+1;//随机图片下标
    324. path=new String("untitled/image/animal/animal"+(index)+"\\");
    325. step=0; //计步器归零
    326. ArrRandom(); //数组乱序
    327. initImage(); //生成图片
    328. } else if (obj == MotionPi) {
    329. System.out.println("运动图片");
    330. Random r=new Random();
    331. int index=r.nextInt(10)+1; //随机图片下标
    332. path=new String("untitled/image/sport/sport"+(index)+"\\");
    333. step=0; //计步器归零
    334. ArrRandom(); //数组乱序
    335. initImage(); //生成图片
    336. }
    337. //提示弹框创建
    338. else if (obj == prompt) {
    339. showJDialog("x :显示全图; c :重新游戏;");
    340. }
    341. //关于用户动作监听
    342. else if (obj == AboutUser) {
    343. showJDialog("那年"+tu.userName+"双手插兜, 被我们打的不知如何还手");
    344. }
    345. else {
    346. return;
    347. }
    348. }
    349. public void showJDialog(String display){
    350. //创建一个弹框的对象,显示形参display
    351. JDialog Error=new JDialog();
    352. //设置弹框的大小
    353. Error.setSize(300,300);
    354. JLabel data=new JLabel(display);
    355. data.setBounds(0,0,200,150);
    356. Error.getContentPane().add(data);
    357. Error.setTitle("提示");
    358. //将弹框设置为界面顶置
    359. Error.setAlwaysOnTop(true);
    360. //初始位置为居中显示
    361. Error.setLocationRelativeTo(null);
    362. //将弹框设置为不关闭弹框无法操作其他界面
    363. Error.setModal(true);
    364. //将弹框显示方式设置为显示
    365. Error.setVisible(true);
    366. }
    367. }
    1. package ui;
    2. import javax.swing.*;
    3. import java.awt.event.MouseEvent;
    4. import java.awt.event.MouseListener;
    5. import java.util.ArrayList;
    6. import java.util.Random;
    7. import javax.swing.JButton;
    8. import javax.swing.JFrame;
    9. //游戏登录界面
    10. public class tu extends JFrame implements MouseListener {
    11. //创建全集一个用户集合用于登录判断
    12. static ArrayList<ul> list=new ArrayList<>();
    13. static String userName;
    14. //添加用户集合成员,用于登录操作判断
    15. static{
    16. list.add(new ul("wuhu","yahu"));
    17. }
    18. //切换验证码按键
    19. JButton Switch_Captcha=new JButton();
    20. //设置注册按钮
    21. JButton enrollJButton=new JButton();
    22. //设置登录按钮
    23. JButton loginJButton = new JButton();
    24. //getCaptcha为验证码获取方法,传递的数据为需要返回的验证码的长度
    25. String str_Captcha=getCaptcha(5);
    26. /*登录与注册按钮的图片文件位置*/
    27. String Image_enroll="untitled/image/login/注册按钮.png";
    28. String Image_login="untitled/image/login/登录按钮.png";
    29. //显示用户名输入框
    30. JTextField NameFrame=new JTextField();
    31. //添加验证码文本框
    32. JTextField FrameCaptcha=new JTextField();
    33. //密码输入显示框
    34. JTextField PasswordFrame=new JTextField();
    35. //创建一个弹框对象
    36. JDialog Error;
    37. //登录界面的空参构造
    38. public tu(){
    39. initJFrame(); //界面初始化项目
    40. initView(); //界面元素添加
    41. //绑定监听
    42. enrollJButton.addMouseListener(this);
    43. loginJButton.addMouseListener(this);
    44. Switch_Captcha.addMouseListener(this);
    45. //将界面状态设置为显示
    46. this.setVisible(true);
    47. }
    48. //界面初始化类
    49. public void initView(){
    50. //清空界面
    51. this.getContentPane().removeAll();
    52. //显示用户名
    53. JLabel UsrtName = new JLabel(new ImageIcon("untitled/image/login/用户名.png"));
    54. UsrtName.setBounds(100,105,47,17);
    55. this.getContentPane().add(UsrtName);
    56. //配置用户名输入框
    57. NameFrame.setBounds(160,100,200,30);
    58. this.getContentPane().add(NameFrame);
    59. //显示密码
    60. JLabel UsrtPassword=new JLabel(new ImageIcon("untitled/image/login/密码.png"));
    61. UsrtPassword.setBounds(100,155,47,17);
    62. this.getContentPane().add(UsrtPassword);
    63. //配置密码框参数
    64. PasswordFrame.setBounds(160,150,200,30);
    65. this.getContentPane().add(PasswordFrame);
    66. //添加验证码
    67. JLabel CaptchaTxT=new JLabel(new ImageIcon("untitled/image/login/验证码.png"));
    68. CaptchaTxT.setBounds(100,215,47,17);
    69. this.getContentPane().add(CaptchaTxT);
    70. //配置验证码文本框参数
    71. FrameCaptcha.setBounds(160,210,100,30);
    72. this.getContentPane().add(FrameCaptcha);
    73. //验证码显示
    74. System.out.println(str_Captcha);
    75. JLabel Captcha=new JLabel(str_Captcha);
    76. Captcha.setBounds(280,215,50,20);
    77. this.getContentPane().add(Captcha);
    78. //设置验证码按钮
    79. Switch_Captcha.setBounds(275,215,50,20);
    80. Switch_Captcha.setBorderPainted(false);
    81. Switch_Captcha.setContentAreaFilled(false);
    82. this.getContentPane().add(Switch_Captcha);
    83. //配置登录按钮
    84. loginJButton.setIcon(new ImageIcon(Image_login));
    85. loginJButton.setBorderPainted(false); //去除按钮的默认边框
    86. loginJButton.setContentAreaFilled(false); //去除按钮的默认背景
    87. loginJButton.setBounds(123,310,128,47); //设置位置与大小
    88. this.getContentPane().add(loginJButton);
    89. //配置注册按钮
    90. enrollJButton.setIcon(new ImageIcon(Image_enroll));
    91. enrollJButton.setBorderPainted(false); //去除按钮的默认边框
    92. enrollJButton.setContentAreaFilled(false); //去除按钮的默认背景
    93. enrollJButton.setBounds(270,310,128,47); //设置位置与大小
    94. this.getContentPane().add(enrollJButton);
    95. // 添加背景图片
    96. //设置一个JLabel对象进行管理图片
    97. JLabel background_JLabel=new JLabel(new ImageIcon("untitled/image/register/background.png"));
    98. //设置图片的位置与宽高
    99. background_JLabel.setBounds(0,0,470,390);
    100. //将容器添加到界面当中
    101. this.getContentPane().add(background_JLabel);
    102. //刷新界面
    103. this.getContentPane().repaint();
    104. }
    105. //获取验证码方法 n 为需要返回的验证码长度
    106. public static String getCaptcha(int len){
    107. Random r=new Random(); //设置随机方法种子
    108. StringBuilder str=new StringBuilder();
    109. for (int i = 0; i < len-1; i++) {
    110. int num=r.nextInt(58)+65; //字母范围的数值
    111. //跳过ascii表中的其他字符
    112. if(num > 90 && num < 97){
    113. num+=7;
    114. }
    115. str.append((char)num); //将数值强制转换为字母并添加到字符串中
    116. }
    117. //将数字添加到字符串中
    118. int number=r.nextInt(10);
    119. str.append(number);
    120. //转换为字符数组更好进行乱序的操作
    121. char []arr= str.toString().toCharArray();
    122. //将其数组元素顺序打乱
    123. for (int i = 0; i < arr.length; i++) {
    124. int index=r.nextInt(arr.length);
    125. char temp=arr[i];
    126. arr[i]=arr[index];
    127. arr[index]=temp;
    128. }
    129. //将完成的验证码转换为字符串将其返回
    130. return new String(arr);
    131. }
    132. //注册界面初始化方法
    133. public void initJFrame(){
    134. //设置界面的宽高
    135. this.setSize(488,430);
    136. //设置界面的标题
    137. this.setTitle(" 登录界面 ");
    138. //设置界面为图层顶置
    139. this.setAlwaysOnTop(true);
    140. //设置界面为初始化居中显示
    141. this.setLocationRelativeTo(null);
    142. //设置关闭模式 3 代表当前界面被关闭后程序结束
    143. this.setDefaultCloseOperation(3);
    144. }
    145. /*事件监听*/
    146. //鼠标松开后执行
    147. @Override
    148. public void mouseClicked(MouseEvent e) {
    149. System.out.println("松开后");
    150. Object obj=e.getSource(); //获取点击是哪一个按键
    151. //登录按钮点击后的操作
    152. if(loginJButton == obj){
    153. Image_login=("untitled/image/login/登录按钮.png");
    154. initView();//界面显示方法
    155. //获取用户名、密码、验证码框内的内容
    156. String getName=NameFrame.getText();
    157. String getPasswodr=PasswordFrame.getText();
    158. String getCaptcha=FrameCaptcha.getText();
    159. //判断三个文本框内是否都有输入数据
    160. if((0 == getName.length()) || (0 == getPasswodr.length()) || (0 == getCaptcha.length())){
    161. showJDialog("输入有误,请检查是否已全部输入");
    162. return;
    163. }
    164. else if(!(str_Captcha.equals(getCaptcha))){
    165. showJDialog("验证码错误,请正确输入");
    166. str_Captcha=getCaptcha(5);
    167. initView();//界面显示方法
    168. }
    169. /*judgmentUser方法作用为判断输入的用户名与密码是否为正确的
    170. * 返回值为 bool类型,正确返回true,错误返回false
    171. * */
    172. else if ( judgmentUser(getName,getPasswodr) ){
    173. showJDialog("登录成功!欢迎进入游戏");
    174. this.dispose(); //关闭当前界面
    175. userName=getName;
    176. new ru(); //打开游戏界面
    177. }
    178. else {
    179. showJDialog("用户名或密码错误");
    180. return;
    181. }
    182. }
    183. //注册按钮点击后的操作
    184. else if (enrollJButton == obj) {
    185. Image_enroll=("untitled/image/login/注册按钮.png");
    186. showJDialog("功能未完善,敬请期待。");
    187. }
    188. //验证码显示范围地区被点击后
    189. else if (Switch_Captcha == obj) {
    190. str_Captcha=getCaptcha(5); //传入的形参为返回的长度
    191. initView();//界面显示方法
    192. }
    193. /*判断整个弹窗对象是否被点击*/
    194. else if (Error == obj) {
    195. //将生成的弹窗关闭
    196. Error.dispose();
    197. } else {
    198. ;
    199. }
    200. }
    201. //按键按着不松时
    202. @Override
    203. public void mousePressed(MouseEvent e) {
    204. /*主要作用为当按键松开后,将按钮恢复为初始状态*/
    205. Object obj=e.getSource(); //获取点击是哪一个按键
    206. if(loginJButton == obj){
    207. Image_login=("untitled/image/login/登录按下.png");
    208. //界面显示方法
    209. initView();
    210. } else if (enrollJButton == obj) {
    211. Image_enroll=("untitled/image/login/注册按下.png");
    212. //界面显示方法
    213. initView();
    214. }else {
    215. ;
    216. }
    217. }
    218. //鼠标点击后松开执行
    219. @Override
    220. public void mouseReleased(MouseEvent e) {
    221. }
    222. //鼠标滑入监听
    223. @Override
    224. public void mouseEntered(MouseEvent e) {
    225. }
    226. //鼠标滑出监听
    227. @Override
    228. public void mouseExited(MouseEvent e) {
    229. }
    230. //判断用户名与密码是否相等方法
    231. public boolean judgmentUser(String strName,String strPassword){
    232. for (int i = 0; i < list.size(); i++) {
    233. if( list.get(i).getName().equals(strName) ){
    234. if( list.get(i).getPassword().equals(strPassword) ){
    235. return true;
    236. }
    237. return false;
    238. }
    239. }
    240. return false;
    241. }
    242. //弹框显示
    243. public void showJDialog(String display){
    244. //创建一个弹框的对象,显示形参display
    245. Error=new JDialog();
    246. //设置弹框的大小
    247. Error.setSize(200,150);
    248. JLabel data=new JLabel(display);
    249. data.setBounds(0,0,200,150);
    250. Error.getContentPane().add(data);
    251. Error.setTitle("提示");
    252. //将弹框设置为界面顶置
    253. Error.setAlwaysOnTop(true);
    254. //初始位置为居中显示
    255. Error.setLocationRelativeTo(null);
    256. //将弹框设置为不关闭弹框无法操作其他界面
    257. Error.setModal(true);
    258. //绑定监听
    259. Error.addMouseListener(this);
    260. //将弹框显示方式设置为显示
    261. Error.setVisible(true);
    262. }
    263. }
    1. package ui;
    2. //用户类
    3. public class ul {
    4. private String Name;
    5. private String password;
    6. public ul() {
    7. }
    8. public ul(String name, String password) {
    9. this.Name = name;
    10. this.password = password;
    11. }
    12. public String getName() {
    13. return Name;
    14. }
    15. public void setName(String name) {
    16. this.Name = name;
    17. }
    18. public String getPassword() {
    19. return password;
    20. }
    21. public void setPassword(String password) {
    22. this.password = password;
    23. }
    24. }

  • 相关阅读:
    爱粤语软件:普通话和粤语转换
    Docker入门
    视频汇聚/视频云存储/视频监控管理平台EasyCVR安全检查的相关问题及解决方法2.0
    GraphQL入门
    WordPress实时搜索插件Ajax Search Lite,轻松替代默认搜索功能
    环境配置|GitHub——解决Github无法显示图片以及README无法显示图片
    js逆向基础篇-某电商网站-xx街
    「Redis数据结构」列表对象(List)
    数字图像处理——基本运算
    1.SpringSecurity认证核心机制
  • 原文地址:https://blog.csdn.net/2301_76551149/article/details/134494854