基于java开发的蜘蛛纸牌程序设计(含源文件) 下载本文

四花色”的单选按钮菜单项。

group变量是ButtonGroup 类创建的一组按钮选择对象。

spider变量是Spider类创建的对象用于主界面窗口的实现。将在Spider.java文件中介绍。

3.3.3主要的方法:

public JMenuBar()创建新的菜单栏。

public JMenu(String text)构造一个新菜单,用提供的字符串作为其文本。 public JMenuItem(String text)创建带有指定文本的菜单项。

public JRadioButtonMenuItem(String text)创建一个带文本的单选按钮菜单项。

public ButtonGroup()创建一个新的单选按钮对象组。

public void add(MenuItem item)向菜单增加由参数item指定的菜单项对象。

public void add(AbstractButton b)将单选按钮添菜单项加到组中。 public void add(JMenu c)将指定的菜单添加加到菜单栏中。

public void addSeparator()将新分隔符追加到菜单的末尾。所需要添加的事件处理的接口方法将在后来的模块中进行介绍。事件源即能 够产生的事件的对象。监视器用于对事件源进行监视以便对发生的事件做出 处理。事件源通过调用相应的方法将某个对象作为自己的监视器。这个方法是addActionListen(ActionListener listen)该方法中的参数是ActionListener类型的接口。因此必须用ActionListener接口的类创建的对象传递给该方法的参数,使得该对象成为事件源的的监视器。监视器负责调用特定的方法处理事件,创建监视器的类必须提供处理事件的特定的方法,即实现接口方法。

public void addMenuListener(MenuListener l)添加菜单事件的侦听器。 void menuSelected(MenuEvent e)选择某个菜单时调用。

void menuDeselected(MenuEvent e)取消选择某个菜单时调用。 void menuCanceled(MenuEvent e)取消菜单时调用。

3.4模块二的详细介绍:

PKCard的功能是定义纸牌的属性,包括名称,位置等相关信息。并通过相关方法实现了纸牌的移动等。

3.4.1主要的类:

JDialog类是创建对话框窗口的主要类。可以使用此类创建自定义的对话框,或者调用 JOptionPane 中的多个类方法来创建各种标准对话框。

Jpanel类是一个面板类负责创建一个面板容器,再向这个面板添加组件,然后将面板添加到底层容器中。

JTabbedPane类负责创建一个组件,它允许用户通过单击具有给定标题和/或图标的选项卡,在一组组件之间进行切换。

JTextArea类负责创建一个显示纯文本的多行区域。它作为一个轻量级组件 Container类负责创建一个容器对象,此容器可以包含其它组件。 AboutDialog类是JDialog类的子类,负责创建一个显示对话框。

9

3.4.2主要的变量:

jMainPane、jPanel1、jPanel2、变量是JPane1创建的面板容器。 jt1、jt2是JTextArea类创建的文本区对象。

jTabbedPane是JTabbedPane类创建的选项卡窗格对象。 c变量是Container类创建的容器。

3.4.3主要的方法:

public JTabbedPane()创建一个具有默认的 JTabbedPane.TOP 选项卡布局的空 TabbedPane.

public JDialog()创建一个没有标题并且没有指定 Frame 所有者的无模式对话框。一个共享的、隐藏的窗体将被设置为该对话框的所有者。

public JPanel()创建具有双缓冲和流布局的新面板容器。

public JTextArea(String text)构造显示指定文本为text的新的文本区。 public void setTittle(String s)设置一个标题为s的对话框。 public void setSize(int width,int heigth)创建宽为width,高位heigth大小的对话框。

public void setResizable(boolean b)设置对话框是否可调整大小。b为true时,对话框可调整大小。

public void setDefaultCloseOperation(int operation)该方法用来设置单机窗体右上角的关闭图标后,程序会做出怎样的处理。operation取DISPOSE_ON_CLOSE时//隐藏当前窗口,并释放窗体所占有的其他资源。public void setVisible(boolean b)设置框口是可见还是不可见。b取true是为可见。

public Container getContentPane()方法可得到窗口的内容面板容器。 public void JTextArea.setSize(int width,int heigth)设置文本区的大小。

public void JTextArea.setEditable(boolean b)设置文本区是否可以编辑。 public void JTextArea.setLineWrap(boolean b)设置文本区中输入的文本是否可以实现在右边界自动换行。

public void JTextArea.setFont(Font f)设置文本区内的字体。 public void JTextArea.setForeground(Color c)设置文本区组件的前景色。 public void addTab(String title,Icon icon,Component component,String tip)添加由 title 和/或 icon 表示的 component 和 tip,其中任意一个都可以为 nul参数:title - 此选项卡中要显示的标题,icon - 此选项卡中要显示的图标,component - 单击此选项卡时要显示的组件,tip - 此选项卡要显示的工具提示。

public void pack()调整此窗口的大小,以适合其子组件的首选大小和布局。

3.5模块三的详细介绍:

PKCard的作用是定义纸牌的属性,包括名称、位置等相关信息。并通过相关方法实现纸牌的移动。

3.5.1主要类介绍:

JLable类负责创建标签对象。标签用于短文本字符串或图像或二者的显示区。

10

Thread类负责创建线程对象。

MouseListener接口、MouseMotionListener接口负责处理事件源所触发的鼠标事件,包括处理鼠标按下、释放、进入、退出、单击、连击、拖动、移动所触发鼠标事件。

Point类负责创建表示 (x,y) 坐标空间中的位置的点对象,以整数精度指定。

MouseEvent类负责创建鼠标所发生的事件对象。

Flash类负责创建线程对象,不断的获取下一张纸牌。

PKCard类是文件的主类,实现MouseListener接口的JLable的子类。负责创建纸牌对象。

3.5.2主要变量:

Point point变量表示纸牌的位置对象。

Point initPoint表示纸牌的初始化位置对象。 int value变量表示纸牌的内容值。 int type变量表示纸牌的类型。 String name变量表示纸牌的名称。

Container pane变量表示标签内主容器。

boolean canMove 变量表示纸牌是否可以移动,值为true时,可以移动。 boolean isFront变量表示纸牌是否正面显示,值为true时,则为正面显示。 PKCard previousCard变量表示上面一张纸牌

3.5.3主要方法:

public void flashCard(PKCard card)方法启动Flash线程不停的获取下一张纸牌直至完成。

public void run()方法为纸牌的正面设置白色图片。 card.updateUI()方法将UI属性重置为当前外观的值。

public void mousePressed(MouseEvent mp)方法按下鼠标时事件的处理方法。

public void mouseReleased(MouseEvent mr)方法释放鼠标时事件处理的方法。

public void setNextCardLocation(Point point)方法放置鼠标时事件处理方法。

public int whichColumnAvailable(Point point)方法为判断可用列。 public void mouseDragged(MouseEvent argO)方法鼠标拖动纸牌时事件处理方法。

public void moving(int x,int y)方法将纸牌移动(x,y)个位置。

pane.setComponentZOrder(this,1)方法将主件移动到容器中指定的顺序索引。

public PKCard(String name,Spider spider)方法纸牌的构造函数。 public void turnFront()方法令纸牌显示正面。 public void turnRear()方法令纸牌显示背面。

public void moveto(Point point()方法将纸牌移动到点point

public void setCanMove(boolean can)方法判断纸牌是否能够移动。

11

public boolean isCardFront()方法判断纸牌是否正面显示。 public boolean isCardCanMove()方法判断纸是否能够移动。 public int getCardValue()方法获得纸牌的内容值。 public int getCardType()方法获得纸牌的类型。

3.6模块四的详细介绍:

Spider.java文件是蜘蛛纸牌游戏的主类文件,其主要功能是生成蜘蛛纸牌游戏的框架,实现游戏中的方法,包括纸牌的随机生成、位置的摆放等。

3.6.1主要的类: JFrame类及其子类负责创建的对象称为窗体。

JLable类负责创建标签对象。标签用于短文本字符串或图像或二者的显示区。

Container类负责创建一个容器对象,此容器可以包含其它组件。 PKCard类负责创建纸牌对象。

Hashtable类实现一个哈希表,该哈希表将键映射到相应的值。

3.6.2主要的变量:

public static final int EASY=1;代表“简单”等级。 public static finalint NATURAL=2 代表“普通”等级。 public static finalint HARD=3 代表“难”等级。

private int grade=Spider.EASY设定初始等级为简单等级; private Container pane 变量为Container类创建的面板容器。 private PKCard card[]变量为PKCard类创建的纸牌数组[]。

private JLable clickLable1变量为JLable类创建的右下角发牌区的鼠标点击响应区域。

private JLable groudLable[]变量为JLable类创建的背景框数组。 Hshtable table变量为Hashtable类创建的一个哈希表对象,用于存储键值数据对。

private int c变量为纸牌的数量。 private int n变量为纸牌的等级。

private int a变量为纸牌所在的列号。

private int finish变量为纸牌从小到大排列成功的次数。

3.6.3主要的方法:

public void setTittle(String s)设置一个标题为s的窗体。 public void setVisible(boolean b)设置框体是可见还是不可见。b取true是为可见。

public void setSize(int width,int heigth)创建宽为width,高位heigth大小的窗体。

public void setDefaultCloseOperation(int operation)该方法用来设置单机窗体右上角的关闭图标后,程序会做出怎样的处理。operation取EXIT_ON_CLOSE时结束窗体所在的应用程序。

public void setMenuBar(MenuBar mb)将此窗体的菜单栏设置为指定的菜单

12