資源簡介
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? {
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? {
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
評論
共有 條評論