当前位置: 首页 > wzjs >正文

网站的制作步骤徐州seo

网站的制作步骤,徐州seo,怎么用自己的电脑做网站空间,免费网站模五子棋项目步骤: 1、创建界面【界面必要因素:界面标题、尺寸、位置、关闭方式】 2、创建面板(控制面板与棋盘面板)【面板可以改变面板背景、面板的固定尺寸使用Dimension】 3、在控制面板上添加按钮【可以改变按钮的颜色&#…

五子棋项目步骤:

1、创建界面【界面必要因素:界面标题、尺寸、位置、关闭方式】

2、创建面板(控制面板与棋盘面板)【面板可以改变面板背景、面板的固定尺寸使用Dimension】

3、在控制面板上添加按钮【可以改变按钮的颜色,以及尺寸(Dimension)】

4、将面板添加到界面上面

5、界面可视化

6、主函数调用界面方法

7、创建监听器类,在界面方法的最前面添加上监听器,棋盘面板加上鼠标监听器,创建棋子类chessFlag是棋子类型

8、监听器类中actionPerformed(ActionEvent e) 实现按钮功能

9、自定义类GoService 用于管理游戏的核心逻辑,先规定棋盘的各项数据【坐标,尺寸,行,列,游戏流程控制变量,定义棋盘二维数组chessArr 在定义一个二维数组chessList储存棋盘的历史记录,chessIndex是chessList的索引】,画棋盘棋子

package lfx250629;import javax.swing.*;
import java.awt.*;import static java.awt.BorderLayout.*;public class GoBangUI {//添加监听器GoBangLinstener goBangLinstener = new GoBangLinstener();public GoBangUI(){//创建一个五子棋界面,添加:界面名字、尺寸、位置、关闭方式JFrame jf = new JFrame();jf.setTitle("五子棋");jf.setSize(1000,1000);jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//添加两块面板,分别是棋盘面板和控制面板JPanel chessPanel = new JPanel();JPanel controlPanel = new JPanel();//设置面板背景chessPanel.setBackground(Color.CYAN);controlPanel.setBackground(Color.white);//设置控制面板的固定尺寸Dimension dimension = new Dimension(120,0);controlPanel.setPreferredSize(dimension);//添加按钮String[] btmStr ={"开始游戏","悔棋","人人对战"};for (int i = 0;i<btmStr.length;i++){JButton jButton = new JButton(btmStr[i]);controlPanel.add(jButton);//将按钮添加到控制面板上jButton.setBackground(Color.GREEN);jButton.setPreferredSize(new Dimension(100,30));//设置按钮的优先尺寸}jf.add(chessPanel, EAST);jf.add(controlPanel, WEST);jf.setVisible(true);//在棋盘面板上添加鼠标监听器chessPanel.addMouseListener(goBangLinstener);}public static void main(String[] args) {new GoBangUI();}
}

注意:如果定义棋盘面板是ChessPanel chessPanel = new ChessPanel();则需要创建一个ChessPanel使其继承JPanel 

package lfx250629;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;public class GoBangLinstener implements MouseListener, ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {//实现按钮功能String ac = e.getActionCommand();if (ac.equals("开始游戏")){//(JButton)是一个强制转换符 将object转化为JButton//e.getSource();作用:返回触发事件对象,其返回类型为objectJButton jButton = (JButton) e.getSource();jButton.setText("结束对局");jButton.setBackground(Color.RED);} else if (ac.equals("悔棋")) {} else if (ac.equals("人人对战")) {JButton jButton = (JButton) e.getSource();jButton.setText("开始游戏");jButton.setBackground(Color.GREEN);}}@Overridepublic void mouseClicked(MouseEvent e) {int x = e.getX();int y = e.getY();System.out.println("x:"+x+"y:"+y);}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}
package lfx250629;import java.awt.*;
import java.awt.image.BufferedImage;public class GoService {//GoService 是一个自定义类,通常用于管理游戏的核心逻辑//规定好棋盘的数据static final int X = 50;static final int Y = 50;static final int SIZE = 50;static final int ROW = 15;//行static final int COL = 15;//列//游戏流程控制变量int chessFlog = 0;//图形渲染Graphics g;//游戏数据static  int[][] chessArr = new int[ROW+1][COL+1];//[ROW+1][COL+1]表示二维数组的长度static Chess[] chessList = new Chess[(ROW+1)*(COL+1)];//chessList储存棋盘中棋子的数据,是棋盘的历史记录final int chessIndex = 0;//chessIndex为chessList的索引//画棋盘public static void drawChessPad(Graphics g){//缓冲绘图BufferedImage bufferedImage = new BufferedImage(880,1000,2);Graphics ig = bufferedImage.getGraphics();//从缓冲绘图上获得画笔//绘制棋盘背景ig.setColor(Color.pink);  //画笔颜色ig.fillRect(X-SIZE/2,Y-SIZE/2,SIZE*(COL+1),SIZE*(ROW+1));//先画棋盘最外面的框框//绘制棋盘的线ig.setColor(Color.BLACK);for (int i = 0;i <= COL;i++){ig.drawLine(X,Y+SIZE*1,X+SIZE*COL,Y+SIZE*i);ig.drawLine(X+SIZE*1,Y,X+SIZE*i,Y+SIZE*ROW);}g.drawImage(bufferedImage,0,0,null);}//自定义开始游戏public  void initGame(){chessFlog = 1;//数据重置chessArr = new int[ROW+1][COL+1];drawChessPad(g);}//画棋子public static void drawAllChess(Graphics g){}}
package lfx250629;public class Chess {int r,c;int chessFlag;public Chess(int r, int c, int chessFlag){this.r = r ;this.c = c ;this.chessFlag = chessFlag;}
}

知识点回顾加补充

1、BorderLayout布局有东西南北中四个部分,面板使用该布局添加到界面上的时候

格式:jf.add(chessPanel , BorderLayout . 方位)

 东EAST            西WEST        南SOUTH           北NORTH          中CENTER

2、动作监听器与鼠标监听器的方法

@Overridepublic void actionPerformed(ActionEvent e) {// 处理按钮点击事件String ac = e.getActionCommand();//获取按钮的文本信息}
public interface MouseListener extends EventListener {void mouseClicked(MouseEvent e);   // 鼠标点击(按下并释放)void mousePressed(MouseEvent e);   // 鼠标按下void mouseReleased(MouseEvent e);  // 鼠标释放void mouseEntered(MouseEvent e);   // 鼠标进入组件区域void mouseExited(MouseEvent e);    // 鼠标离开组件区域
}

3、上面代码中的:

        ①e.getSource();返回触发事件对象,其返回类型为object

        ②(JButton)强制转换符 将object类型转换为JButton【①②  适用于多个按钮共同使用一个监听器,用于区别出发了什么事件】

         ③BufferedImage:图像缓冲区,本质是一个存储像素数据的内存区域

        构造方法:BufferedImage(int width,int height,int ImageType[图像类型])

        常用方法:int getWidth/int get height()获得图像宽度,高度

                          int getRGB(int x, int y)获得指定坐标像素颜色

        ④chessIndex:计数器,记录当前棋盘上棋子的数目

        ⑤Graphics常用方法

 单词:

default 默认,违约,缺席

close 关闭,停止,完成

operation 运作,实施,行动

preferredsize 优先位置

dimension 大小,维度,范围

border 边界,包边,花带,国境

http://www.dtcms.com/wzjs/39136.html

相关文章:

  • 深泽网站制作百度用户服务中心
  • 合肥网站制作哪家好怎么做好seo推广
  • 一级a做爰片软件网站厦门seo管理
  • 编程app下载山西搜索引擎优化
  • 怎么把网站做的靠前成都网站快速排名提升
  • 武汉网站制作seo基础理论
  • 嘉兴网站制作建设市场推广专员
  • 江门网站制作费用百度统计手机app
  • ps怎么做网站的首页青岛seo青岛黑八网络最强
  • 石家庄外贸网站建设一个新的app如何推广
  • php网站开发工程师招聘要求经典营销案例
  • 网站内容建设包括推广接单平台哪个好
  • web期末网站设计大作业推广方案框架
  • 国内做网上旅游业务的网站链接生成器
  • 网站建设网络推广微信网站做网站需要什么条件
  • 虚拟主机网站空间怎么样建立自己的网站
  • app对接网站查询网址域名ip地址
  • 网站建设需要哪个部门审批推广发帖网站
  • 科站网站关键词排名点击软件怎样
  • 网站建设公司 广告法被处罚今日头条搜索优化
  • 谁做网站做的比较可信子域名网址查询
  • 纯flash网站欣赏seo俱乐部
  • 网站的360快照怎么做it培训机构
  • dreamweaver网站建设教程深圳关键词优化软件
  • 电子商务网站建设与管理课程评价软文广告300字范文
  • 日本设计 网站广州专门做seo的公司
  • 浙江建设厅网站公司网站制作公司
  • 阿里巴巴网站头像你会放什么做头像品牌策划案例
  • 武汉网站制作027中国企业100强
  • 做代理的项目在哪个网站域名查询网