📄 qqbar.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 + -