• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: Java
  • 标签:

资源简介

java编程,有很好的窗口面板,是java多线程及java图形用户界面的优秀体现

资源截图

代码片段和文件信息


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Card implements ActionListener
{
private char ch;//用于判断输入框是否数字的判断
public boolean bs = true;//是否发完牌
private int i = 0;//当前第i张牌
private boolean []bPlayers = new boolean[54];//所有玩家线程初始为runnable状态
private boolean bSender;//控制发牌线程的状态
private int n = 0;//参与娱乐人数
private int minCardmaxCard;//发牌最小、最大数

Jframe jf = new Jframe(“发牌1.0“);

JPanel jpNorth = new JPanel();
JPanel jpInput = new JPanel(new GridLayout(23));

JLabel jlMin = new JLabel(“最小牌:“);
JLabel jlMax = new JLabel(“最大牌:“);
JLabel jlGamNum = new JLabel(“玩家人数:“);

JTextField jtfMin = new JTextField(“1“12);
JTextField jtfMax = new JTextField(“54“12);
JTextField jtfGamNum = new JTextField(“3“12);

JButton jb = new JButton(“发牌“);
JPanel jpGambler = new JPanel();
JLabel []gams = new JLabel[54];//所有玩家接牌显示信息
JLabel curGam = new JLabel(“准备发牌“JLabel.CENTER);//显示当前发牌信息
JLabel ls = new JLabel(“就绪“);//状态栏

public Card()
{
jtfGamNum.addActionListener(this);
jb.addActionListener(this);

jpInput.add(jlMin);jpInput.add(jlMax);jpInput.add(jlGamNum);
jpInput.add(jtfMin);jpInput.add(jtfMax);jpInput.add(jtfGamNum);
jpNorth.add(jpInput);jpNorth.add(jb);

jpGambler.add(curGam);
curGam.setForeground(Color.blue);
ls.setForeground(Color.red);
jf.getContentPane().add(“North“jpNorth);
jf.getContentPane().add(“Center“jpGambler);
jf.getContentPane().add(“South“ls);
jf.setLocation(200150);
jf.pack();
jf.setVisible(true);
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource() == jb || e.getSource() == jtfGamNum)
{
if(isDigital(jtfMin.getText()) && isDigital(jtfMax.getText()) && isDigital(jtfGamNum.getText()))
{
n = Integer.parseInt(jtfGamNum.getText());//得到当前玩家人数
minCard = Integer.parseInt(jtfMin.getText());
maxCard = Integer.parseInt(jtfMax.getText());

if(minCard <= maxCard && minCard > 0 && n > 0)
{
i = 0;//初始为没发牌
bs = true;//表示可以开始发牌
curGam.setText(“发牌就绪“);

JPanel jpGambler = new JPanel(new GridLayout(n + 11));
jpGambler.add(curGam);
for(int j = 0;j < n; j++)//初始所有玩家状态
{
gams[j] = new JLabel(“玩家“ + (j + 1) + “:“);
jpGambler.add(gams[j]);
}
jf.getContentPane().add(“Center“jpGambler);
jf.pack();
jf.setVisible(true);

for(int j = 0;j < 54; j++)//初始所有玩家线程状态为false,即Runnable状态
{
bPlayers[j] = false;
}
bSender = true;//初始发牌线程为运行状态
Distribute d = new Distribute();
Sender s = new Sender(d);
s.start();
Gambler []players = new Gambler[n];
for(int j = 0;j < n; j++)
{
players[j] = new Gambler(d);
players[j].start();
}
}
else
{
JOptionPane.showMessageDialog(jf“请输入合法的数字“);
}
}
else
{
JOptionPane.showMessageDialog(jf“请输入合法的数字或者不能为空“);
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5161  2008-11-20 16:59  Card.java

----------- ---------  ---------- -----  ----

                 5161                    1


评论

共有 条评论

相关资源