📄 totalpanel.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.util.StringTokenizer;
import javax.swing.*;
import javax.swing.border.EtchedBorder;
import chat.ChatPanel;
import net.*;
public class TotalPanel extends JPanel{
JPanel gameArea = new JPanel();
JPanel chatArea = new JPanel();
JButton startB = new JButton("开始");
JButton giveupB = new JButton("认输");
Net net = new Net();
ChatPanel chatPanel = new ChatPanel(net);
ChessPane chessPane = new ChessPane(net);
TimePanel timePanel = new TimePanel();
NetMsgListener netMsgListener = new NetMsgListener();
TimerThread timer = new TimerThread();
public TotalPanel(){
setLayout(null);
addGameArea();
addChatArea();
netMsgListener.start();
}
private void addGameArea(){
System.out.println("GameArea");
gameArea.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEtchedBorder(EtchedBorder.RAISED), BorderFactory.createLineBorder(Color.GRAY, 3)));
gameArea.setBounds(20, 10, 610, 620);
gameArea.setBackground(Color.WHITE);
gameArea.setLayout(null);
chessPane.setBounds(50,40,450,500);
startB.setBounds(50,560,80,30); //开始按钮
startB.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(!chessPane.iStarted){
chessPane.setStart();
net.sendMessage("startchess");
}
}
});
giveupB.setBounds(140,560,80,30); //认输按钮
giveupB.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(chessPane.iStarted&&chessPane.heStarted)
if(JOptionPane.showConfirmDialog(null,"真的要认输吗?","认输",0)==JOptionPane.YES_OPTION){
net.sendMessage("giveup");
chessPane.reStart();
}
}
});
gameArea.add(chessPane,null);
gameArea.add(timePanel,null);
gameArea.add(startB,null);
gameArea.add(giveupB,null);
this.add(gameArea,null);
}
private void addChatArea(){
chatArea.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEtchedBorder(EtchedBorder.RAISED), BorderFactory.createLineBorder(Color.GRAY, 3)));
chatArea.setBounds(640, 10, 340, 620);
chatArea.setBackground(Color.WHITE);
chatArea.setLayout(null);
chatPanel.setBounds(10,10,320,600);
chatArea.add(chatPanel,null);
this.add(chatArea,null);
}
class NetMsgListener extends Thread{ //监听网络消息
private String msg=null;
public void run(){
System.out.println("监听网络消息线程启动");
while(true){
try{
sleep(300);
msg = net.readMessage();
}catch(Exception e){
System.out.println(e);
}
if(!msg.equals("")){
System.out.println("deal");
// String []str = msg.split("#",0);
// if(str[0].equals("chess"))
chessPane.dealMsg(msg); //象棋处理信息
// else if(str[0].equals("chat"))
chatPanel.dealMsg(msg); //聊天处理信息
// else
if(msg.equals("connect"))
timer.start();
}
}
}
}
class TimerThread extends Thread{
private int time = 0;
public void run(){
while(true){
try{
sleep(1000);
time++;
}catch(InterruptedException e){
System.out.print(e.toString());
}
chessPane.countTime();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -