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

📄 schattingmenu.java

📁 用java开发的聊天程序源代码 包含客户端文件和服务器文件
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

/**

 * 主窗口菜单
 *
 * @author 戚荣波
 *
 * @version 1.0
 * @since J2SE 1.6
 */
public class SChattingMenu extends JMenuBar
{
	private static JMenuItem mi_server,mi_connect,mi_disconnect;
	private static JMenu m_option;
	private static Color myColor = new Color(198,236,251);
	public SChattingMenu()
	{
		setBackground(myColor);
		JMenu [] m = { new JMenu("Connect(C)"),new JMenu("Option(O)"),new JMenu("History"),new JMenu("About(A)")};
		char [] mC ={'C','O','H','A' };
		JMenuItem [][] mI = 
		{
			{new JMenuItem("SetUp(N)"),new JMenuItem("ConnectTo(C)"),new JMenuItem("Disconnect(D)"),new JMenuItem("Exit(X)")},
			{new JMenuItem("Send(S)"),new JMenuItem("SendFile(F)"),new JMenuItem("SendPicture(P)")},
			{new JMenuItem("Save(S)"),new JMenuItem("View(V)"),new JMenuItem("Clear(C)")},
			{new JMenuItem("About(A)")}
		};
		char [][] mIC =
		{
			{'N','C','D','X'},
			{'E','F','P'},
			{'S','V','R'},
			{'A'}
		};
		mI[0][2].setEnabled(false);
		
		mI[0][0].addActionListener(new serverListener());
		mI[0][1].addActionListener(new connectListener());
		mI[0][2].addActionListener(new ActionListener()
			{
				public void actionPerformed(ActionEvent ae)
				{
					Connect.mb_disconnect();
				}
			}
			);
		mI[0][3].addActionListener(new closeListener());
		mI[1][0].addActionListener(new sendListener());
		mI[1][1].addActionListener(new fileListener());
		mI[1][2].addActionListener(new pictureListener());
		mI[2][0].addActionListener(new saveListener());
		mI[2][1].addActionListener(new viewListener());
		mI[2][2].addActionListener(new clearHistoryListener());
		mI[3][0].addActionListener(new ActionListener()
			{
				public void actionPerformed(ActionEvent ae)
				{
					JOptionPane.showConfirmDialog(ShowWindow.app,"my chatting tool:SChatting\nby Seven 2007-09-15",
						 "About", JOptionPane.YES_OPTION, JOptionPane.INFORMATION_MESSAGE, 
						 new ImageIcon("icon\\seven.gif"));
				}
			}
			);
						
		
		for(int i = 0;i < m.length; i++)
		{
			this.add(m[i]);
			m[i].setMnemonic(mC[i]);
			for(int j = 0;j<mI[i].length;j++)
			{
				m[i].add(mI[i][j]);
				mI[i][j].setMnemonic(mIC[i][j]);
				mI[i][j].setAccelerator(KeyStroke.getKeyStroke("ctrl "+mIC[i][j]));
								
			}
		}
		mI[1][0].setAccelerator(KeyStroke.getKeyStroke("control ENTER"));
		m[0].insertSeparator(2);
		m[0].insertSeparator(4);
		m[1].insertSeparator(1);
		m[2].insertSeparator(2);
		mi_server = mI[0][0];
		mi_connect = mI[0][1];
		mi_disconnect = mI[0][2];
		m_option = m[1];
		mb_disconnect();
	}
	
	/**
	 *连接建立时按钮的状态
	 */
	public static void mb_connect()
	{
		m_option.setEnabled(true);
		mi_server.setEnabled(false);
		mi_connect.setEnabled(false);
		mi_disconnect.setEnabled(true);
	}
	
	/**
	 *连接断开时按钮的状态
	 */
	public static void mb_disconnect()
	{
		m_option.setEnabled(false);
		mi_server.setEnabled(true);
		mi_connect.setEnabled(true);
		mi_disconnect.setEnabled(false);
	}
}		

class SPopupMenu extends JPopupMenu
{
	JTextPane tp = null;
	JMenuItem [] miHide = new JMenuItem[2];
	public SPopupMenu()
	{
		super();	
		
		JMenuItem [] mi=
		{
			new JMenuItem("Cut(X)"),new JMenuItem("Copy(C)"),new JMenuItem("Paste(P)")
		};
		
		for(int i=0;i<mi.length;i++)
		{
			add(mi[i]);
		}
		
		mi[0].addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent ae)
			{
				tp.cut();
			}
		}
		);
		mi[1].addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent ae)
			{
				tp.copy();
			}
		}
		);
		mi[2].addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent ae)
			{
				tp.paste();
			}
		}
		);
		miHide[0]=mi[0];
		miHide[1]=mi[2];
	}
	public void show(Component c,int x,int y,boolean canEdit)
	{
		if(canEdit)for(int i=0;i<miHide.length;i++)miHide[i].setVisible(true);
		else for(int i=0;i<miHide.length;i++)miHide[i].setVisible(false);
		super.show(c,x,y);
		tp = (JTextPane)getInvoker();
	}
}

⌨️ 快捷键说明

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