首页 > 编程知识 正文

pyside2中文教程,divide java

时间:2023-05-05 06:50:14 阅读:177328 作者:825

package chess;

import java.awt.Checkbox;

import java.awt.CheckboxGroup;

import java.awt.Color;

import java.awt.Graphics;

import Java.awt.event.actionevent;

import Java.awt.event.action listener;

import java.awt.event.ItemEvent;

import Java.awt.event.item listener;

import Java.awt.event.mouse event;

import Java.awt.event.mouse listener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

class FivChese extends JFrame{//是从窗口类继承的

CheseGame CG;

FivChese () )

{

this.CG=new CheseGame (;

addmouselistener(CG; //鼠标侦听器

ADD(CG );

}

publicstaticvoidmain (string [ ] args ) {

FivChese fivechese=new FivChese (;

five chese.setdefaultcloseoperation (jframe.exit _ on _ close; 如果是//结束程序,则相当于system.exit(0)

five chese.setsize (900,700 ); //设置组件的水平和垂直大小

fivechese.setTitle (五子棋); //设置构建的自定义标题

fivechese.setvisible(true; //显示按钮

//fivechese.setresizable () true; //如果参数为布尔型且resizeable值为true,则表示可以在生成的表单中自由调整大小;

}

}

classchesegameextendsjpanelimplementsmouselistener、ItemListener//图形用户界面工具包swing的面板容器类已添加到JFrame窗口中

{

int [][]map=new int[20][20];

Color []color={Color.BLACK,Color.WHITE,Color.LIGHT_GRAY}; //背景色

//棋子坐标

int x=-1;

int y=-1;

判断是黑白棋还是黑白棋

int flag=1;

//判定胜负

int winner=3;

JButton btn1=new JButton ('开始'); //游戏开始

JButton btn2=new JButton ('另一局'); //游戏复位

JButton btn3=new JButton ('悔恨棋');

//确定狠心的猫还是黑手先

checkboxgroupcbg=newcheckboxgroup (;

Checkbox chb1=new Checkbox (“黑旗先开始”、cbg、true );

Checkbox chb2=new Checkbox (“白旗先开始”、cbg、false );

classgamestartimplementsactionlistener//游戏现在继承自动侦听器

{

创建用于处理publicvoidactionperformed (ActionEvent AE ) actionevent事件的方法

{

if(AE.getsource(==BTN1)/str.equals('start ' ) ) )。

{

start (;

repaint (; 如何重新绘制组件

BTN1.setenabled(false; //设置控件是否可用

BTN2.setenabled(true;

BTN3.setenabled(true;

CHB1.setenabled(false );

CHB2.setenabled(false );

}

if(AE.getsource(==BTN2 )//处理另一站事件

{

start (;

repaint (;

CHB1.setenabled(true );

CHB2.setenabled(true );

}

处理if(AE.getsource(==BTN3)//悔棋事件

{

repaint (;

CHB1.setenabled(false );

CHB2.setenabled(false );

}

}

私有语音开始

//todo自动生成方法stub

}

}

CheseGame () )

{

this.setlayout(null; //

ch B1.set bounds (650、50、100、30 ); //设定开始控制的位置

ch B2.set bounds (650,100,100,30 );

ch B1.additem监听器(this );

CHB2.additemlistener(this );

BTN1. set bounds (650,150,100,30 );

BTN1. addactionlistener (new game start ); //制作新的游戏开始对象

BTN2. set bounds (650,200,100,30 );

btn2.addactionlistener (new game start );

BTN2.setenabled(false;

BTN3. set bounds (650,250,100,30 );

btn3.addactionlistener (new game start );

this.add(BTN1;

this.add(BTN2;

this.add(BTN3;

this.add(chB1;

this.add(chB2;

}

公共支付组件(graphicsg ) )。

{

super.paintcomponent(g ); //用父类JPanel中的方法,用背景色重画整个面板,起到清透屏的作用

setbackground(color[2]; //设置棋盘的背景颜色

//画棋盘

for(intI=1; i=20; I )

{

g.setcolor(color[0];

g.Drawline(30、i*30、600、i*30 ); //划线画棋盘。 这是画一条横线,每30mm画一条从30到600的直线

g.drawline (I * 30,30,I * 30,600 ); //画棋盘的竖线

}

//画棋子

for(intI=0; i 20; I )

for(intj=0; j 20; j )

{

if(map[I][j]==1) ) ) ) )。

{

g.setcolor(color[0]; //画棋子的颜色

g.filloval((I1 ) ) **30-15,(j 1 ) ) 30-15、30、30;

}

if(map[I][j]==2) ) ) ) )。

{

g.setcolor(color[1];

g.filloval((I1 ) ) **30-15,(j 1 ) ) 30-15、30、30; //画棋子

}

}

}

@Override

publicvoidmouseclicked (mouse event e ) {

//todo自动生成方法stub

}

@Override

公共事件(mouse event e )。

//todo自动生成方法stub

}

@Override

公共事件(mouse event e )。

//todo自动生成方法stub

}

@Override

公共事件(mouse event e )。

//todo自动生成方法stub

}

@Override

publicvoidmousereleased (mouse event e ) {

//todo自动生成方法stub

}

@Override

publicvoiditemstatechanged (itemeventarg0) (

//todo自动生成方法stub

}

}

一键复制

编辑

网络ide

原始数据

按行显示

历史

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。