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

📄 qqbar.java

📁 Java+Eclipse+Mysql的局域网聊天程序源代码
💻 JAVA
字号:
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.event.*;
import java.awt.Dimension;

import javax.swing.DefaultListModel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JTabbedPane;
import java.awt.GridBagLayout;
import javax.swing.ImageIcon;
import java.awt.GridBagConstraints;
import javax.swing.JMenuItem;
import javax.swing.JLabel;
import java.awt.Insets;
import java.awt.FlowLayout;
import java.awt.ComponentOrientation;
import javax.swing.SwingConstants;
import java.awt.event.KeyEvent;
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import java.awt.GridLayout;
import java.awt.CardLayout;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.JList;
import java.util.Date;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;

public class QQBar extends JFrame {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;
	    
	private SendMsg sm=null;  //  @jve:decl-index=0:
	private MyQQ myqq=null;
	private Login login=null;

	private JPanel jPanel = null;

	private JLabel jl_Info = null;

	private JTabbedPane jTabbedPane = null;

	private JPanel jPanel1 = null;

	private JPanel jPanel2 = null;

	private JLabel jLabel = null;

	private JScrollPane jScrollPane = null;

	public JList jList = null;
	
	public DefaultListModel dlm_Friend=null;
	
	private long clickTime=0;

	public QQBar(Login login,MyQQ myqq) {
		super();
		
		this.login=login;
		this.sm=login.sm;
		this.myqq=myqq;
		this.addWindowListener(new windowAdapter(this));
		
		initialize();
	}
	private void initialize() {
		dlm_Friend=new DefaultListModel();
		this.setSize(268, 566);
		this.setContentPane(getJContentPane());
		this.setTitle("好友列表读取中...");
		this.setVisible(true);
		
		//发送读取好友列表请求	
		String msg="1|1|"+login.local_username+"|"+login.local_addr+"|"+login.local_port;
		sm.setMsg(msg, login.server_port, login.server_addr, true, false);
	}
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(new BorderLayout());
			jContentPane.setBackground(new Color(242, 253, 255));
			jContentPane.add(getJPanel(), BorderLayout.NORTH);
			jContentPane.add(getJTabbedPane(), BorderLayout.CENTER);
		}
		return jContentPane;
	}
	private class windowAdapter extends WindowAdapter
	{
		private QQBar qqbar=null;
		public windowAdapter(QQBar qqbar)
		{
			this.qqbar=qqbar;
		}
		public void windowClosing(WindowEvent e)
		{
			if(login.sm==null)
				System.out.println(login.server_port);
			String msg="0|1|"+login.local_username;
			System.out.println("----------------"+login.local_username);
			login.sm.setMsg(msg, login.server_port, login.server_addr, true, false);		
			System.exit(0);
		}
	}
	/**
	 * This method initializes jPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel() {
		if (jPanel == null) {
			jLabel = new JLabel();
			jLabel.setText("nickname");
			FlowLayout flowLayout = new FlowLayout();
			flowLayout.setAlignment(java.awt.FlowLayout.LEFT);
			jl_Info = new JLabel();
			jl_Info.setIcon(new ImageIcon(getClass().getResource("/head/default.png")));
			jl_Info.setHorizontalAlignment(SwingConstants.LEFT);
			jl_Info.setHorizontalTextPosition(SwingConstants.TRAILING);
			jl_Info.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
			jl_Info.setBorder(BorderFactory.createLineBorder(new Color(158, 230, 251), 2));
			jl_Info.setBackground(new Color(141, 163, 187));
			jl_Info.setPreferredSize(new Dimension(55, 55));
			jl_Info.setText("");
			jPanel = new JPanel();
			jPanel.setBackground(new Color(242, 253, 255));
			jPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
			jPanel.setLayout(flowLayout);
			jPanel.setComponentOrientation(ComponentOrientation.UNKNOWN);
			jPanel.add(jl_Info, null);
			jPanel.add(jLabel, null);
		}
		return jPanel;
	}
	/**
	 * This method initializes jTabbedPane	
	 * 	
	 * @return javax.swing.JTabbedPane	
	 */
	private JTabbedPane getJTabbedPane() {
		if (jTabbedPane == null) {
			jTabbedPane = new JTabbedPane();
			jTabbedPane.setTabPlacement(JTabbedPane.LEFT);
			jTabbedPane.setPreferredSize(new Dimension(30, 34));
			jTabbedPane.setBackground(new Color(242, 253, 255));
			jTabbedPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
			jTabbedPane.setFocusCycleRoot(true);
			jTabbedPane.addTab(null, new ImageIcon(getClass().getResource("/head/default.png")), getJPanel1(), null);
			jTabbedPane.addTab(null, new ImageIcon(getClass().getResource("/head/default.png")), getJPanel2(), null);
		}
		return jTabbedPane;
	}
	/**
	 * This method initializes jPanel1	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel1() {
		if (jPanel1 == null) {
			GridBagConstraints gridBagConstraints = new GridBagConstraints();
			gridBagConstraints.fill = GridBagConstraints.BOTH;
			gridBagConstraints.gridy = 0;
			gridBagConstraints.weightx = 1.0;
			gridBagConstraints.weighty = 1.0;
			gridBagConstraints.gridx = 0;
			jPanel1 = new JPanel();
			jPanel1.setLayout(new GridBagLayout());
			jPanel1.setBackground(Color.white);
			jPanel1.add(getJScrollPane(), gridBagConstraints);
		}
		return jPanel1;
	}
	/**
	 * This method initializes jPanel2	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel2() {
		if (jPanel2 == null) {
			jPanel2 = new JPanel();
			jPanel2.setLayout(new GridBagLayout());
			jPanel2.setBackground(Color.white);
		}
		return jPanel2;
	}
	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setViewportView(getJList());
		}
		return jScrollPane;
	}
	/**
	 * This method initializes jList	
	 * 	
	 * @return javax.swing.JList	
	 */
	private JList getJList() {
		if (jList == null) {
			jList = new JList();
			jList.setModel(dlm_Friend);
			jList.setCellRenderer(new FriendListCell());
			jList.addMouseListener(new myMouseAdapter(jList));
		}
		return jList;
	}
	private class myMouseAdapter extends MouseAdapter
	{
		private JList list;
		public myMouseAdapter(JList list)
		{
			this.list=list;
		}
		public void mouseReleased(MouseEvent e)
		{
			if(checkClickTime())
			{
				ChatWindow cw=new ChatWindow(list,login);
			}
		}
	}
	private boolean checkClickTime()   
	  {   
	  long nowTime =(new Date()).getTime();   
	  if((nowTime-clickTime)<300)   
	  {   
	  clickTime=nowTime;   
	  return true;   
	  }   
	  clickTime=nowTime;   
	  return false;   
	  }
} 

⌨️ 快捷键说明

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