资源简介
这是一个数独游戏的源代码已经相应的class文件。可以直接在运行。方便教学与研究

代码片段和文件信息
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
public class Shudu
{
Generator gen=new Generator();
static Grid g[]=new Grid[81];
final String help=“Made By Shi Xing“+‘\n‘+“操作方法:“+‘\n‘+“在start中选择相应难度开始;“+‘\n‘+“在空格处右键弹出下拉菜单“
+‘\n‘+“选择相应的数字后,在原来的空格点击左键“+‘\n‘+“填写完成后点击Check按钮“;
//菜单的构建
JMenuBar jmb=new JMenuBar();
JMenu start=new JMenu(“Start“);
JMenuItem check=new JMenuItem(“Check“);
JMenuItem nandu1=new JMenuItem(“难度 3“);
JMenuItem nandu2=new JMenuItem(“难度 4“);
JMenuItem nandu3=new JMenuItem(“难度 5“);
JMenuItem mhelp=new JMenuItem(“Help“);
Jframe frame=new Jframe(“数独游戏“);
class Grid
{
//有关元素
int x;
int y;
PopMenu pm;
JLabel cb;
final String chooser[]={“ ““1““2““3““4““5““6““7““8““9“};
int index; //所选的东西;
int editable;
//各种类定义
class PopMenu
{
JPopupMenu pop;
JRadioButtonMenuItem radio[];
ButtonGroup bg;
PopMenu(int a)
{
pop=new JPopupMenu();
RadioListener rl=new RadioListener();
bg=new ButtonGroup();
radio=new JRadioButtonMenuItem[10];
radio[0]=new JRadioButtonMenuItem(“ “);
radio[0].addActionListener(rl);
radio[0].setMnemonic(KeyEvent.VK_0);
radio[0].setEnabled(true);
bg.add(radio[0]);
pop.add(radio[0]);
for (int i=1; i<10 ; i++)
{
radio[i]=new JRadioButtonMenuItem(new Integer(i).toString());
radio[i].addActionListener(rl);
radio[i].setMnemonic(KeyEvent.VK_0+i);
bg.add(radio[i]);
pop.add(radio[i]);
}
radio[a].setSelected(true);
}
}
class RadioListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
for (int i=0; i<10 ; i++)
if (pm.radio[i].isSelected())
{
index=i; break;
}
System.out.println(index);
}
}
class MyListener extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
if (editable==1)
if (e.getButton()==MouseEvent.BUTTON3)
{
pm.pop.setLocation(e.getXOnScreen() e.getYOnScreen());
pm.pop.setVisible(true);
pm.pop.setEnabled(true);
}
else if (e.getButton()==MouseEvent.BUTTON1)
{
pm.pop.setVisible(false);
cb.setText(chooser[index]);
gen.ini[x][y]=index;
}
}
}
//各种方法
Grid(int a)
{
editable=1;
index=a;
cb=new JLabel(chooser[a]);
pm=new PopMenu(index);
MyListener l=new MyListener();
cb.addMouseListener(l);
cb.setBorder(BorderFactory.createCompoundBorder( BorderFactory.createLineBorder(Color.black)BorderFactory.createEmptyBorder(10 10 10 10)));
cb.setBounds(1 1 1 1);
}
void set(int a)
{
index=a;
cb.setText(chooser[a]);
}
int get()
{
return index;
}
void seteditable(int a)
{
editable=a;
if (a==0)
cb.setForeground(Color.red);
if (a==1)
cb.setForeground(Color.black);
}
}
class CheckList
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-08-23 12:37 Shudu\
文件 792 2010-08-22 23:05 Shudu\Shudu$CheckListener.class
文件 1330 2010-08-22 23:05 Shudu\Shudu$Grid$MyListener.class
文件 1430 2010-08-22 23:05 Shudu\Shudu$Grid$PopMenu.class
文件 932 2010-08-22 23:05 Shudu\Shudu$Grid$RadioListener.class
文件 1933 2010-08-22 23:05 Shudu\Shudu$Grid.class
文件 834 2010-08-22 23:05 Shudu\Shudu$HelpListener.class
文件 738 2010-08-22 23:05 Shudu\Shudu$NanduListener.class
文件 4106 2010-08-22 23:05 Shudu\Shudu.class
文件 9850 2010-08-22 23:01 Shudu\Shudu.java
- 上一篇:税收计算系统-jsp
- 下一篇:利用jxls操作excel模板文件
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论