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

📄 mainframe.java

📁 java编写的一个网络象棋,通过对方ip连接,开始游戏,同时可以进行聊天,聊天部分通过线程实现,可以同时进行多个会话.
💻 JAVA
字号:
import java.io.File;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import net.*;

public class MainFrame extends JFrame{

/*	{
		try {
			javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
		} catch(Exception e) {
			e.printStackTrace();
		}
	}*/

	ImageIcon noIcon = new ImageIcon("Image" + File.separator + "no.gif");
	Image frameIconImage = getToolkit().getImage("Image" + File.separator + "frame.gif");
	ImageIcon saveIcon = new ImageIcon("Image" + File.separator + "save.gif");	
	ImageIcon loadIcon = new ImageIcon("Image" + File.separator + "load.gif");
	ImageIcon connectIcon = new ImageIcon("Image" + File.separator + "connect.gif");
	ImageIcon disconnectIcon = new ImageIcon("Image" + File.separator + "disconnect.gif");
	ImageIcon connectChatIcon = new ImageIcon("Image" + File.separator + "connectChat.gif");
	
	JPanel contentPane = new JPanel();
	JPanel gameArea = new JPanel();
	JPanel chatArea = new JPanel();
	TotalPanel mainPane = new TotalPanel();
	
	JToolBar mainToolBar = new JToolBar();
		JButton saveButton = new JButton(saveIcon);
		JButton loadButton = new JButton(loadIcon);
		JToolBar.Separator toolBarSeparator = new JToolBar.Separator();
		JButton connectButton = new JButton(connectIcon);
		JButton disconnectButton = new JButton(disconnectIcon);
		JButton connectChatButton = new JButton(connectChatIcon);
	JMenuBar mainMenuBar = new JMenuBar();
		JMenu systemMenu = new JMenu("系统");
			JMenuItem saveGameMI = new JMenuItem("保存游戏...", saveIcon);
			JMenuItem loadGameMI = new JMenuItem("加载游戏...", loadIcon);
			JSeparator separator = new JSeparator();
			JMenuItem exitGameMI = new JMenuItem("退出游戏", noIcon);
		JMenu netMenu = new JMenu("网络");
			JMenuItem connectMI = new JMenuItem("连接游戏玩家", connectIcon);
			JMenuItem disconnectMI = new JMenuItem("断开连接", disconnectIcon);
			JMenuItem connectChatMI = new JMenuItem("添加聊天", connectChatIcon);
			JMenuItem localIpMI = new JMenuItem("查看本机IP");
			JSeparator separator2 = new JSeparator();
			JMenuItem playerColorChangeMI = new JMenuItem("交换先后手", noIcon);
		JMenu helpMenu = new JMenu("帮助");
			JMenuItem helpMI = new JMenuItem("帮助...");
		JMenuItem aboutMI = new JMenuItem("关于我们");
	
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>	

	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	
	public MainFrame(String title){
		super(title);
		this.getContentPane().setBackground(Color.LIGHT_GRAY);
		toolBarSet();
		menuSet();
		panelSet();
		setContentPane(contentPane);		
		//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

        //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		this.setSize(500, 760);
		this.setIconImage(frameIconImage);
		this.setExtendedState(JFrame.MAXIMIZED_BOTH);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	
	}
	
	public void toolBarSet(){
		contentPane.setLayout(new BorderLayout());
		saveButton.setToolTipText("保存游戏");		
		saveButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				save();
			}
		});

		loadButton.setToolTipText("加载游戏");	
		loadButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				new ReadChessManualFrame();
			}
		});

		connectButton.setToolTipText("连接玩家");		
		connectButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
                 connect();
			}
		});

		disconnectButton.setToolTipText("添加聊天");		
		disconnectButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){

			}
		});

		connectChatButton.setToolTipText("断开连接");		
		connectChatButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				connectChat();
			}
		});

		
		mainToolBar.add(saveButton);
		mainToolBar.add(loadButton);
		mainToolBar.add(toolBarSeparator);
		mainToolBar.add(connectButton);
		mainToolBar.add(disconnectButton);
		mainToolBar.add(connectChatButton);
		contentPane.add(mainToolBar, BorderLayout.NORTH);
	}
	
	public void menuSet(){
		saveGameMI.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				save();
			}
		});
		systemMenu.add(saveGameMI);
		loadGameMI.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				load();
			}
		});
		systemMenu.add(loadGameMI);
		systemMenu.add(separator);
		exitGameMI.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				System.exit(0);
			}
		});
		systemMenu.add(exitGameMI);
		mainMenuBar.add(systemMenu);
		
		connectMI.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				connect();
			}
		});
		netMenu.add(connectMI);
		disconnectMI.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				disconnect();
			}
		});
		netMenu.add(disconnectMI);
		connectChatMI.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				connectChat();
			}
		});
		netMenu.add(connectChatMI);
		netMenu.add(localIpMI);
		localIpMI.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				JOptionPane.showMessageDialog(null,"本地IP :     "+Net.getMyAdress());
			}
		});
		netMenu.add(separator2);
		netMenu.add(playerColorChangeMI);
		mainMenuBar.add(netMenu);
		
		helpMenu.add(helpMI);
		aboutMI.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae){
				JOptionPane.showMessageDialog(null, "计算机0412班:\n" +
						"               全体同学", "关于我们", JOptionPane.INFORMATION_MESSAGE);
			}
		});
		helpMenu.add(aboutMI);
		mainMenuBar.add(helpMenu);
		
		this.setJMenuBar(mainMenuBar);
	}
	
	public void panelSet(){
		contentPane.add(mainPane,BorderLayout.CENTER);
	}

	///////////////////////////////////////////////////////////////////////	
	//the method below is message handler(s).
	
	public void save(){
		JOptionPane.showMessageDialog(null, "save");
	}
	public void load(){
		JOptionPane.showMessageDialog(null, "load");
	}
	public void connect(){
		String ipStr=JOptionPane.showInputDialog(null,"请输入要连接的IP:","222.20.7.61");
		mainPane.net.connectServer(ipStr);
	}
	public void connectChat(){
		JOptionPane.showMessageDialog(null, "connectChat");
	}
	public void disconnect(){
		JOptionPane.showMessageDialog(null, "disconnect");
	}
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

}

⌨️ 快捷键说明

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