汇智学堂-JAVA桌面游戏开发(五子棋之一:登录的实现)

之一:登录
“登录”执行效果图:

汇智学堂-JAVA桌面游戏开发(五子棋之一:登录的实现)

准备工作:
汇智学堂-JAVA桌面游戏开发(五子棋之一:登录的实现)

Images文件夹下,放置login.png图片一张。

代码实现:

Login.java
package com.fivechess.view;

import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**

  • 登录页面

  • 选择人机对战还是人人对战

  • @author 雷雷
    */
    public class Login extends JFrame implements MouseListener{
    public static void main(String[] args) {
    new Login();
    }

    public Login()
    {
    setVisible(true);
    setLayout(null); //取消原来布局

     setBounds(550,150,300,450);
     setTitle("雷雷的五子棋游戏");
     
     setResizable(false);//参数为boolean类型,resizeable值为true时,表示在生成的窗体可以自由改变大小;
     showBg(); //显示登录页面
     
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     addMouseListener(this);
    

    }

    /**

    • 添加背景图片,设置位置
      */
      private void showBg() {
      // TODO Auto-generated method stub
      ImageIcon image = new ImageIcon(“images/login.png”);
      image.setImage(image.getImage().getScaledInstance(300, 450, Image.SCALE_DEFAULT));

      JLabel jl = new JLabel(image);
      jl.setBounds(0,0,300,450);//添加图片,设置图片大小为窗口的大校
      this.getLayeredPane().add(jl, new Integer(Integer.MAX_VALUE)); //将JLabel加入到面板容器的最上层
      }
      /**

    • 点击页面触发事件

    • @param e
      */
      @Override
      public void mouseClicked(MouseEvent e) {

      //获取点击坐标

      int x=e.getX();
      int y=e.getY();

      if(x>=50 && x<=300 && y>=320&& y<=400)
      {
      dispose();//释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。
      new ChooseWhichLevel();// 加载人机对战页
      //new ChooseLevel();
      }
      else if(x>=50 && x<=300 && y>=100 && y<=200)
      {
      dispose();
      //这里加载人人对战页面
      }
      else if(x>=5 && x<=40 && y>=80&& y<=120)
      {
      //退出
      dispose();
      System.exit(0);
      }
      }
      @Override
      public void mousePressed(MouseEvent e) {
      }
      @Override
      public void mouseReleased(MouseEvent e) {
      }
      @Override
      public void mouseEntered(MouseEvent e) {
      }
      @Override
      public void mouseExited(MouseEvent e) {
      }
      }