汇智学堂-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) {
}
}
-