源代码-Java实现蜘蛛纸牌
aboutdialog.java
import javax.swing.*;
import java.awt.*;
/*
**“关于”窗口
*/
public class AboutDialog extends JDialog
{
JPanel jMainPane = new JPanel();
JTabbedPane jTabbedPane = new JTabbedPane();
private JPanel jPanel1 = new JPanel();
private JPanel jPanel2 = new JPanel();
private JTextArea jt1 = new JTextArea("将电脑多次分发给你的牌按照相同的花色由大至小排列起来。直到桌面上的牌全都消失。");
private JTextArea jt2 = new JTextArea("该游戏中,纸牌的图片来自于Windows7的纸牌游戏,图片权属于原作者所有!");
/*
**构造函数
*/
public AboutDialog()
{
setTitle("蜘蛛牌");
setSize(300,200);
setResizable(false);//生成的窗口由程序员决定大小,用户不能随意改变窗口大小
setDefaultCloseOperation (WindowConstants.DISPOSE_ON_CLOSE);
//设置框的大小
Container c = this.getContentPane();//初始化容器
jt1.setSize(260,200);
jt2.setSize(260,200);
jt1.setEditable(false);//是调用这个函数的控件不能被编辑
jt2.setEditable(false);
jt1.setLineWrap(true);//设置自动换行
jt2.setLineWrap(true);
jt1.setFont(new Font("楷体_GB2312", java.awt.Font.BOLD, 13));
jt1.setForeground(Color.black);
jt2.setFont(new Font("楷体_GB2312", java.awt.Font.BOLD, 13));
jt2.setForeground(Color.black);
jPanel1.add(jt1);
jPanel2.add(jt2);
jTabbedPane.setSize(300,200);
jTabbedPane.addTab("游戏规则", null, jPanel1, null);
jTabbedPane.addTab("声明", null, jPanel2, null);
jMainPane.add(jTabbedPane);
c.add(jMainPane);
pack();//窗口
this.setVisible(true);//设置可见
}
}
PKcard.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PKCard extends JLabel implements MouseListener,//implements实现接口
MouseMotionListener{
//纸牌的位置
Point point = null;
Point initPoint = null;
int value = 0;
int type = 0;
String name = null;
Container pane = null;
Spider main = null;
boolean canMove = false;
boolean isFront = false;
PKCard previousCard = null;
public void mouseClicked(MouseEvent arg0){
}
public void flashCard(PKCard card){
//启动Flash线程
new Flash(card).start();
//不停的获得下一张牌,直到完成
if(main.getNextCard(card) !=