-
大小: 2KB文件類(lèi)型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-22
- 語(yǔ)言: Java
- 標(biāo)簽:
資源簡(jiǎn)介
java編程,有很好的窗口面板,是java多線(xiàn)程及java圖形用戶(hù)界面的優(yōu)秀體現(xiàn)

代碼片段和文件信息
import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.*;
public?class?Card?implements?ActionListener
{
private?char?ch;//用于判斷輸入框是否數(shù)字的判斷
public?boolean?bs?=?true;//是否發(fā)完牌
private?int?i?=?0;//當(dāng)前第i張牌
private?boolean?[]bPlayers?=?new?boolean[54];//所有玩家線(xiàn)程初始為runnable狀態(tài)
private?boolean?bSender;//控制發(fā)牌線(xiàn)程的狀態(tài)
private?int?n?=?0;//參與娛樂(lè)人數(shù)
private?int?minCardmaxCard;//發(fā)牌最小、最大數(shù)
Jframe?jf?=?new?Jframe(“發(fā)牌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(“玩家人數(shù):“);
JTextField?jtfMin?=?new?JTextField(“1“12);
JTextField?jtfMax?=?new?JTextField(“54“12);
JTextField?jtfGamNum?=?new?JTextField(“3“12);
JButton?jb?=?new?JButton(“發(fā)牌“);
JPanel?jpGambler?=?new?JPanel();
JLabel?[]gams?=?new?JLabel[54];//所有玩家接牌顯示信息
JLabel?curGam?=?new?JLabel(“準(zhǔn)備發(fā)牌“JLabel.CENTER);//顯示當(dāng)前發(fā)牌信息
JLabel?ls?=?new?JLabel(“就緒“);//狀態(tài)欄
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“l(fā)s);
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());//得到當(dāng)前玩家人數(shù)
minCard?=?Integer.parseInt(jtfMin.getText());
maxCard?=?Integer.parseInt(jtfMax.getText());
if(minCard?<=?maxCard?&&?minCard?>?0?&&?n?>?0)
{
i?=?0;//初始為沒(méi)發(fā)牌
bs?=?true;//表示可以開(kāi)始發(fā)牌
curGam.setText(“發(fā)牌就緒“);
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++)//初始所有玩家線(xiàn)程狀態(tài)為false,即Runnable狀態(tài)
{
bPlayers[j]?=?false;
}
bSender?=?true;//初始發(fā)牌線(xiàn)程為運(yùn)行狀態(tài)
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“請(qǐng)輸入合法的數(shù)字“);
}
}
else
{
JOptionPane.showMessageDialog(jf“請(qǐng)輸入合法的數(shù)字或者不能為空“);
}
}
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????5161??2008-11-20?16:59??Card.java
-----------?---------??----------?-----??----
?????????????????5161????????????????????1
評(píng)論
共有 條評(píng)論