资源简介
这是一个数独游戏的源代码已经相应的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 打印及预览
- Java小游戏贪吃蛇 完整
- JavaSetup8u181(64位win10版安装版)
- 学生宿舍管理系统Java源代码
- java 使用正则表达式验证电话号码的格
- 求解线性方程组的解——java实现
- java 聊天室课程设计
- 手势识别简单小程序java
- mysql-connector-java-3.1.10-bin.jar
- java实现的highcharts与ajax结合动态实时
- java程序员转正ppt
- 课程设计报告 数独游戏
- Java页面置换算法模拟程序FIFO、LRU
- Java语言程序设计叶乃文 程序代码
- JAVA实现骑士巡游马踏棋盘
- 飞行棋回合中·代码.java
- 2015年传智播客java第33期全套完整.tx
- 轻量级JavaEE企业级应用实战.txt
- 基于java的协同过滤
- 毕向东javaSE基础视频35天.txt
- Java版数据结构与算法视频教程(44集
- java聊天java聊天java聊天java聊天java聊天
- MQTT相关java代码实现
- AutoItX4Java
- 使用java语言实现的QQ聊天软件
- 用java实现基于文件的图书管理系统
- Java实现分词正向最大匹配和逆向最大
- java 公式计算汇总,直接调用其方法即
- java sqlserver 酒店管理系统 源码
- 基于jspjava的毕业设计源码
评论
共有 条评论