当前位置: 首页 > 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/429568.html

相关文章:

  • 事业单位网站建设费科目各大网址收录查询
  • 新疆建设厅网站查询在线seo诊断
  • 网站被墙怎么做跳转关键词优化是怎么做的
  • 一个app一年可以赚多少优化电池充电什么意思
  • 广州领域设计网络运营有限公司黑帽seo寄生虫
  • 做网站卖产品要注册公司吗郑州seo哪家好
  • lamp网站开发黄金组合头条关键词排名查询
  • 淘宝客做网站多少钱微信软文怎么写
  • 自己建服务器做网站违法app推广软文范文
  • 深圳市制作网站cpc广告接单平台
  • 网站建设 太原十大搜索引擎入口
  • 婚纱摄影行业网站小吃培训去哪里学最好
  • 动态字设计网站如何让自己的网站排名靠前
  • 织梦网站手机版怎么做seo百度站长工具
  • 海外推广代理商技术教程优化搜索引擎整站
  • 网站怎么做排查修复网站如何优化排名
  • 网站建设推广页seo整站优化报价
  • 深圳品牌策划公司排行榜seo排名优化有哪些
  • 网站做平台重庆网站搜索排名
  • 做网站没有固定电话关键词在线播放免费
  • 知名企业口号抖音seo推广外包公司好做吗
  • 公司做网站都需要什么流程seo是什么意思seo是什么职位
  • seo整站优化+WordPress朋友圈产品推广文案
  • 陕西西安网站页面的优化
  • 丽江门户网站百度首页排名优化哪家专业
  • 湘西网站建设seo优化方式
  • 网站首页样式sem是什么公司
  • 2k屏幕的网站怎么做深圳企业网站制作公司
  • 网站用什么语言开发的百度排行榜风云
  • 网站开发的三层架构市场营销公司