⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ui.java

📁 Java平台上实现的五子棋对战程序
💻 JAVA
字号:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.Socket;
import java.nio.*;
import javax.swing.*;

public class UI extends JFrame{
	private static final long serialVersionUID = 1L;
	private mypanel p = new mypanel();  // panel变量,继承JPanel类,作为可视化的刷新部分
	private JMenuBar m;
	private JMenu mu;
	private byte cl;
	Socket s;                               // Socket类
	JMenuItem ji2 = new JMenuItem("后手");
	private boolean xianshou = false;
	
	UI() {		
		setSize(352,405);  // 设定窗口大小
		setTitle("SoSo Gobang");  // 设定窗口标题
		setResizable(false);
		setLayout(new BorderLayout());
		initMenu();
		add(BorderLayout.CENTER, p);  // 将panel添加进入race
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // 关闭窗口即退出程序
		setVisible(true);  // 将窗口设为可见
	}
	
	private void initMenu() {
		m = new JMenuBar();
		mu = new JMenu("游戏方式");
		JMenuItem ji = new JMenuItem("人机对战");
		ji.addActionListener(input);
		JMenuItem ji1 = new JMenuItem("自动对战");
		ji1.addActionListener(input1);
		ji2.addActionListener(input2);
		mu.add(ji);
		mu.add(ji1);
		m.add(mu);
		m.add(ji2);
		add(BorderLayout.NORTH, m);
	}
	
	private ActionListener input=new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			p.start(xianshou);
			ji2.setEnabled(false);
		}
	};
	
	private ActionListener input1=new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			ji2.setEnabled(false);
			String host = JOptionPane.showInputDialog("请输入服务器地址:");
			try {
				s = new Socket(host,9527);
				ByteBuffer bytebuf = ByteBuffer.allocate(1);   //   创建一个指定大小的缓冲区 
				bytebuf.order(ByteOrder.LITTLE_ENDIAN);
				s.getInputStream().read(bytebuf.array());
				byte b = bytebuf.get();
				switch(b) {
				case 3:
					cl = 0;
					break;
				case 4:
					cl = 1;
					break;
				default:
					bytebuf.flip();		
					break;
				}
				p.autostart(s, cl);
			} catch(Exception ex) {
				System.err.println(ex);
			}
		}
	};
	
	private ActionListener input2=new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			if(ji2.getText() == "后手") {
				ji2.setText("先手");
				xianshou = true;
			}
			else {
				ji2.setText("后手");
				xianshou = false;
			}
		}
	};
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new UI();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -