2 u013251453 u013251453 于 2013.12.26 13:00 提问

非常急!想程序连续5黑或5白自动出现一个对话框,显示我赢了还可以选继续或退出游戏

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
import java.awt.*;
public class Example2 extends JFrame implements MouseListener,ActionListener
{ private ExamplePanel2[] panel=new ExamplePanel2[100];
private JButton jbStart=new JButton ("开始游戏");
private JButton jbBlack=new JButton ("黑方");
private JButton jbWhite=new JButton ("白方");
private int colorFlag=0;
Example2()
{ Container c=this.getContentPane();
c.setLayout(new BorderLayout());
JPanel pc=new JPanel();
JPanel ps=new JPanel();
c.add(pc,BorderLayout.CENTER);
c.add(ps,BorderLayout.SOUTH);
pc.setLayout(new GridLayout(10,10));
for(int i=0;i<panel.length;i++)
{ panel[i]=new ExamplePanel2();
panel[i].setNumber(i+1);
panel[i].addMouseListener(this);
pc.add(panel[i]);
}
ps.setLayout(new FlowLayout(FlowLayout.CENTER));
ps.add(jbStart);
ps.add(jbBlack);
ps.add(jbWhite);
jbStart.addActionListener(this);
jbBlack.addActionListener(this);
jbWhite.addActionListener(this);
this.setTitle("五子棋游戏");
this.setSize(500,500);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void mouseClicked(MouseEvent arg0) { }
public void mouseEntered(MouseEvent arg0) { }
public void mouseExited(MouseEvent arg0) { }
public void mousePressed(MouseEvent arg0)
{ for(int i=0;i<panel.length;i++)
{ if(arg0.getSource()==panel[i])
{ if(colorFlag==0)
{ panel[i].setColor(0);
panel[i].repaint(); }
else
{ panel[i].setColor(1);
panel[i].repaint(); }
}
}
}
public void mouseReleased(MouseEvent arg0) { }
public void actionPerformed(ActionEvent arg0)

{ if(arg0.getSource()==jbBlack)
{colorFlag=0;}
else if(arg0.getSource()==jbWhite)
{colorFlag=1;}
else if(arg0.getSource()==jbStart)
{
for(int i=0;i<panel.length;i++)
panel[i].setStartFlag(1);
}
}
public static void main(String args[])
{ Example2 ex=new Example2(); }
}

import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
public class ExamplePanel2 extends JPanel
{ private int color=0;
private int number=0;
private int startFlag=0;
private int lock=0;
ExamplePanel2 ()
{ this.setBorder(new LineBorder(Color.black,1));
this.setBackground(new Color(255,205,255));
}
public void paintComponent(Graphics g)
{ super.paintComponent(g);
if(startFlag==1)
{ if(lock==0)
{ if(color==0)
g.setColor(Color.black);
else
g.setColor(Color.white);
g.fillOval(10,10,30,30);
lock=1;
}
}
}
public int getColor()
{ return color; }
public void setColor(int color)
{ this.color=color; }
public int getNumber()
{ return number; }
public void setNumber(int number)
{ this.number=number; }
public int getStartFlag()
{ return startFlag; }
public void setStartFlag(int startFlag)
{ this.startFlag=startFlag;
}
}

import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
public class ExamplePanel2 extends JPanel
{ private int color=0;
private int number=0;
private int startFlag=0;
private int lock=0;
ExamplePanel2 ()
{ this.setBorder(new LineBorder(Color.black,1));
this.setBackground(new Color(255,205,255));
}
public void paintComponent(Graphics g)
{ super.paintComponent(g);
if(startFlag==1)
{ if(lock==0)
{ if(color==0)
g.setColor(Color.black);
else
g.setColor(Color.white);
g.fillOval(10,10,30,30);
lock=1;
}
}
}
public int getColor()
{ return color; }
public void setColor(int color)
{ this.color=color; }
public int getNumber()
{ return number; }
public void setNumber(int number)
{ this.number=number; }
public int getStartFlag()
{ return startFlag; }
public void setStartFlag(int startFlag)
{ this.startFlag=startFlag;
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
掷双骰
在最流行的博彩游戏中有一种名为“掷双骰”的骰子游戏,这种游戏在世界各地的娱乐场所和大街小巷非常受欢迎。游戏的规则很简单: 玩家掷两个骰子。每个骰子有六面,分别含有1、2、3、4、5、和6个点。掷完骰子后,计算两个朝上的面的点数之和。如果首次投掷点数总和是7或11,那么玩家赢;如果首次投掷的点数之和是2、3或者12,那么玩家输;如果首次投掷的点数之和是4、5、6、8、9、或者10,那么这个和就成为
黑马程序员_分支结构与循环结构以及跳转语句
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 1.if 结构 a) 编程实现:如果张三的考试成绩大于90分,那么爸爸奖励他100元。 b) 使用if结构可以实现上面的问题 c) 法if结构的基本语法 d) if(条件) 语句; if(条件) {语句1; 语句2
口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取
*          * 输入描述:出三个球,问得到3中不通过颜色的球口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取的可能取法。(枚举)   * 问题描述:  * 程序输出: * 问题分析:略         * 算法设计:略          */  #include "stdafx.h"    #include    #include    using namespace std; 
趣味编程:有A,B,C,D,E五人,每人额头上都帖了一张黑或白的纸
#include <iostream> using std::cout; using std::endl; int main(){ /**** 有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后, A说:“我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。” B说:“我看见其它四人额头上帖的都是黑纸。
口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取出三个球,问得到3中不通过颜色的球的可能取法。(枚举)
// 121212 第七章例7.7.cpp : 定义控制台应用程序的入口点。 // /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 * 完成日期:2012 年 12 月 12 日 * 版 本 号:v1.0
如何赢得数学游戏(博弈问题)
数学游戏(博弈问题)是最优化问题中的一类,同时它也是一类很有趣的逻辑推理问题。其中运用最广的思维是:倒推思维。例1.桌子上有24根火柴,甲、乙两人轮流取,每人每次取1—3根。谁取到最后一根谁就获胜。甲该怎样取才能保证获胜?解析:甲要获胜,就要拿到第24根火柴;要想拿到第24根火柴,必须先拿到第20根;要想拿到第20根,必须先拿到第16根,同理可推出,甲必须先拿到第12、8、4根,甲才获胜。所以,解决
取消应用程序崩溃后弹出的对话框
正常情况下,应用程序崩溃后,会弹出对话框,显示崩溃相关信息。有时候,用户并不希望出现这个对话框,所以需要取消。   这里有两篇博文介绍了方法,经过验证有效:如何取消WIN2008下应用报错后弹出的对话框 程序已停止 要求关闭程序和关闭Windows 2008下面应用程序出错后的提示。   除此之外,还可以利用AeDebug进行配置,不弹出对话框,参考的是这篇文章:程序崩溃时利用注册表自动转储内
解决 请按ENTER或者按其他键继续的问题
因为虚拟机的CENTOS是新装的,在学LAMP的时候需要查看一个大的CONF,所以我想先把vim配置一下把,网上找了一个vim 配置,结果出现一用VIM就弹出 这样的问题,我找了一下,还不太好百度,后来想了一下,应该是下的VIMRC文件有问题,下了一个新的覆盖一下啊,解决问题。
R:寻找连续出现1的游程
问题描述:     假设一个向量由若干0和1 构成,我们想找出其中连续出现1的游程(在一个0和1组成的序列中,一个由连续的0或1构成的串称为一个游程)。。例如,对于向量(1,0,0,1,1,1,0,1,1),从它第4索引处开始有长度为3的游程,而长度为2的游程分别始于第4,第5和第8索引的位置。   代码如下: findruns     n     runs     for(i in
编写函数模拟掷骰子的游戏(两个骰子)。第一次掷的时候,如果点数之和为7或11则获胜;如果点数之和为2、3或12则落败;其他情况下的点数之和称为“目标”,游戏继续。在后续的投掷中,如果玩家再次掷出“目标
编写函数模拟掷骰子的游戏(两个骰子)。第一次掷的时候,如果点数之和为7或11则获胜;如果点数之和为2、3或12则落败;其他情况下的点数之和称为“目标”,游戏继续。在后续的投掷中,如果玩家再次掷出“目标”点数则获胜,掷出7则落败,其他情况都忽略,游戏继续进行。每局游戏结束时,程序询问用户是否再玩一次,如果用户输入的回答不是y或Y,程序会显示胜败的次数然后终止。