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

📄 mainframe.java

📁 java多线程聊天程序GUI界面socket实现
💻 JAVA
字号:
package mychat;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class MainFrame extends JFrame implements Runnable{
	JMenu menu=null;
	JMenuBar menuBar=null;
	JToolBar jtBar=null;
	JButton jbChat,jbSendFile;
	JLabel jlPicture=null;
	JPanel jp1,jp2;
	int port=8888;
	int n=10;
	
	public MainFrame(){
		menu=new JMenu();
		menu.setIcon(new ImageIcon("img\\chatmenu.gif"));
		menuBar=new JMenuBar();
		jtBar=new JToolBar();
		jtBar.setFloatable(false);
		jbChat=new JButton();
		jbChat.setIcon(new ImageIcon("img\\chat.gif"));
		jbChat.addActionListener(new ActionListener(){
					public void actionPerformed(ActionEvent e){
						if(e.getSource()==jbChat){
							new Login();
						}
					}
		});
	//	jbSendFile=new JButton("");
		//jbSendFile.setIcon(new ImageIcon("img\\sendfile.GIF"));
		//jbSendFile.addActionListener(new ActionListener(){
		//	public void actionPerformed(ActionEvent e){
		//		if(e.getSource()==jbSendFile){
				//FileLogin fileLogin=	
			//		new FileLogin();//————利用线程的目的是,在点击发送文件的按钮的同时,激活文件发送服务器:实现监听——————
			//	Thread r=new Thread(fileLogin);
			//	r.start();
			//	}}
	//	});
		jtBar.add(jbChat);
		//jtBar.add(jbSendFile);
		menuBar.add(menu);
		setJMenuBar(menuBar);
		
		jlPicture=new JLabel();
		jlPicture.setIcon(new ImageIcon("img\\mychat.gif"));
		jp1=new JPanel();
		jp1.setSize(300,6);
		jp1.setLayout(new BorderLayout());
		jp1.add(jtBar,BorderLayout.CENTER);
		
		jp2=new JPanel();
		jp2.add(jlPicture);
		JPanel contentPane=(JPanel)this.getContentPane();
		contentPane.setLayout(new BorderLayout());
		contentPane.add(jp1,BorderLayout.NORTH);
		contentPane.add(jp2,BorderLayout.CENTER);
		setLocation(300,175);
		setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				int i=JOptionPane.showConfirmDialog(null, "确认要关闭所有的窗口吗?", "关闭窗口", JOptionPane.OK_CANCEL_OPTION);
				if(i==JOptionPane.OK_OPTION){
					System.exit(0);
				}
				else{
					return;
				}
			}
		});
		setResizable(false);
		setSize(450,440);
		setVisible(true);
		
	}
//——————————————利用线程启动服务——————————————	
	public void run() {
		Server	ser=new Server(port,n);
	//	FileServer fileServer=new FileServer(9999);
		//Thread f=new Thread(fileServer);
	//	f.start();
		Thread t=new Thread(ser);
		t.start();
		
	}
		public static  void main(String agr[]){
		MainFrame mainFrame=new MainFrame();
		Thread thread=new Thread(mainFrame);
		thread.start();//——启动线程——————
		}		
		
		
	
}

⌨️ 快捷键说明

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