📄 mainwin.java
字号:
myjicq = s;
server = sername;
serverport = serport;
jbInit();
ConnectServer(myjicq);
CreatUDP();
findf = new FindFriend2(myjicq, server, serverport);
findf.setBounds(200, 150, 300, 300);
thread = new Thread(this);
thread.start();
}
catch (Exception e) {
e.printStackTrace();
}
} //end main*****
/**Component initialization*/
private void jbInit() throws Exception { //主程序界面
contentPane = (JPanel)this.getContentPane();
border1 = BorderFactory.createLineBorder(SystemColor.info,1);
contentPane.setLayout(flowLayout1);
this.getContentPane().setBackground(new Color(132, 158, 203));
this.setResizable(false);
this.setSize(new Dimension(206, 420));
String userjicq=Integer.toString(myjicq);
this.setTitle("QQ2007:"+userjicq);
this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
this_mousePressed(e);
}
});
ListModel model = new NameAndPicListModel(friendnames, picsonline);
ListCellRenderer renderer = new NameAndPicListCellRenderer();
list = new JList(model);
list.setBackground(Color.white);
list.setAlignmentX( (float) 1.0);
list.setAlignmentY( (float) 1.0);
list.setCellRenderer(renderer);
list.setVisibleRowCount(7);
list.addMouseListener(new MainWin_list_mouseAdapter(this));
list.setSize(new Dimension(130, 194));
jButton1.setText("我的好友");
jButton1.setBorderPainted(false);
jButton1.setContentAreaFilled(false);
jButton1.setIcon(icon1);
jButton1.setPressedIcon(icon6);
direct.setText("直接加友");
direct.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
direct_mouseClicked(e);
}
});
direct.addMouseListener(new MainWin_direct_mouseAdapter(this));
direct.setToolTipText("about");
direct.setPressedIcon(icon6);
ok.setText("OK");
ok.setBounds(new Rectangle(111, 89, 97, 29));
ok.addMouseListener(new MainWin_ok_mouseAdapter(this));
info.setMaximumSize(new Dimension(200, 100));
info.setMinimumSize(new Dimension(200, 100));
info.setText("你好,欢迎使用我的QQ,南昌大学软件学院04级1班 张利彬 8000104129");
info.setBounds(new Rectangle( -31, 21, 353, 66));
sendmessage.setText("发送消息");
sendmessage.addMouseListener(new MainWin_sendmessage_mouseAdapter(this));
getmessage.setText("接收消息");
getmessage.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
getmessage_mousePressed(e);
}
});
lookinfo.setText("查看资料");
lookinfo.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
lookinfo_mousePressed(e);
}
});
chatrecord.setText("聊天记录");
Container dialogcon = about.getContentPane();
about.setSize(200, 200);
Container senddiapane = senddata.getContentPane();
dialogcon.setLayout(null);
dialogcon.setSize(100, 100);
//senddiapane.setLayout(null);
name.setForeground(SystemColor.activeCaption);
name.setText("呢称");
name.setBounds(new Rectangle(9, 44, 41, 18));
nametext.setBounds(new Rectangle(52, 38, 90, 22));
icq.setForeground(SystemColor.activeCaption);
icq.setText("QQ");
icq.setBounds(new Rectangle(163, 39, 64, 18));
icqno.setBounds(new Rectangle(257, 37, 96, 22));
send.setIcon(icon1);
send.setText("发送");
send.setBounds(new Rectangle(39, 219, 136, 29));
send.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
send_mouseClicked(e);
}
});
senddiapane.setLayout(null);
cancel.setIcon(icon1);
cancel.setText("取消");
cancel.setBounds(new Rectangle(220, 216, 110, 29));
cancel.addMouseListener(new MainWin_cancel_mouseAdapter(this));
contentPane.setBackground(new Color(156, 225, 255));
contentPane.setEnabled(true);
contentPane.setAlignmentX( (float) 200.0);
contentPane.setAlignmentY( (float) 200.0);
contentPane.setVerifyInputWhenFocusTarget(true);
senddata.setResizable(false);
senddata.getContentPane().setBackground(Color.lightGray);
sendtext.setRows(10);
sendtext.setMinimumSize(new Dimension(20, 10));
sendtext.setMaximumSize(new Dimension(20, 10));
sendtext.setBounds(new Rectangle(7, 71, 384, 141));
jLabel2.setText("This is zlb");
jLabel2.setBounds(new Rectangle(20, 82, 89, 18));
//senddiapane.setBackground(new Color(58, 112, 165));
find.setToolTipText("");
find.setText("查找");
find.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
find_mouseClicked(e);
}
});
getdata.getContentPane().setLayout(null);
getdata.getContentPane().setBackground(new Color(156, 225, 255));
getdata.setSize(400, 300);
jLabel3.setText("昵称");
jLabel3.setBounds(new Rectangle(14, 37, 41, 18));
getfromname.setBorder(border1);
getfromname.setBounds(new Rectangle(56, 37, 90, 22));
jLabel4.setText("QQ");
jLabel4.setBounds(new Rectangle(164, 39, 41, 18));
getfromjicq.setBorder(border1);
getfromjicq.setBounds(new Rectangle(224, 37, 104, 22));
getinfo.setBorder(border1);
getinfo.setBounds(new Rectangle(18, 68, 325, 153));
getok.setText("ok");
getok.setBounds(new Rectangle(136, 240, 79, 29));
getok.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
getok_mouseClicked(e);
}
});
update.setText("更新");
update.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
update_mouseClicked(e);
}
});
delfriend.setText("删除好友");
delfriend.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
delfriend_mousePressed(e);
}
});
myinfo.setMaximumSize(new Dimension(70, 29));
myinfo.setMinimumSize(new Dimension(70, 29));
myinfo.setText("陌生人");
myinfo.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
myinfo_mouseClicked(e);
}
});
online.setText("上线");
online.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
online_mouseClicked(e);
}
});
hello.getContentPane().setLayout(null);
jLabel1.setText("呢称");
jLabel1.setBounds(new Rectangle(11, 29, 41, 18));
helloname.setBounds(new Rectangle(52, 27, 78, 22));
jLabel5.setText("QQ");
jLabel5.setBounds(new Rectangle(156, 30, 39, 18));
hellojicq.setBounds(new Rectangle(198, 28, 106, 22));
jLabel6.setText("电子邮件");
jLabel6.setBounds(new Rectangle(11, 71, 66, 18));
helloemail.setBounds(new Rectangle(64, 69, 138, 22));
jLabel7.setText("个人资料");
jLabel7.setBounds(new Rectangle(14, 106, 75, 18));
helloinfo.setBounds(new Rectangle(13, 136, 301, 101));
jButton3.setBounds(new Rectangle(53, 248, 79, 29));
hellook.setText("ok");
hellook.setBounds(new Rectangle(136, 248, 79, 29));
hellook.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
hellook_mouseClicked(e);
}
});
jLabel8.setText("发送消息");
jLabel8.setBounds(new Rectangle(14, 19, 196, 18));
jLabel9.setText("接收消息");
jLabel9.setBounds(new Rectangle(12, 13, 186, 18));
OneAddyou.getContentPane().setLayout(null);
jLabel10.setText("收到消息");
jLabel10.setBounds(new Rectangle(7, 13, 143, 18));
oneaddme.setBounds(new Rectangle(7, 57, 247, 18));
addit.setText("加为好友");
addit.setBounds(new Rectangle(107, 126, 72, 22));
addit.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
addit_mouseClicked(e);
}
});
iknow.setText("知道了");
iknow.setBounds(new Rectangle(186, 126, 70, 22));
iknow.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
iknow_mouseClicked(e);
}
});
DirectAdd.getContentPane().setLayout(null);
jLabel11.setText("直接添加好友");
jLabel11.setBounds(new Rectangle(7, 19, 220, 18));
jLabel12.setText("好友号码");
jLabel12.setBounds(new Rectangle(11, 58, 72, 18));
friendid.setBorder(border1);
friendid.setBounds(new Rectangle(83, 53, 118, 22));
directaddok.setText("确定");
directaddok.setBounds(new Rectangle(89, 109, 79, 29));
directaddok.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
directaddok_mouseClicked(e);
}
});
DirectAdd.getContentPane().setBackground(new Color(156, 225, 255));
DirectAdd.setResizable(false);
OneAddyou.getContentPane().setBackground(new Color(156, 225, 255));
dialogcon.add(info, null);
dialogcon.add(ok, null);
dialogcon.add(jLabel2, null);
about.setSize(100, 100);
about.pack();
contentPane.add(jButton1, null);
contentPane.add(new JScrollPane(list));
/*提供轻量级组件的 scrollable 视图。JScrollPane 管理视口、
可选的垂直和水平滚动条以及可选的行和列标题视口。
*/
contentPane.add(update, null);
contentPane.add(direct, null);
contentPane.add(online, null);
contentPane.add(myinfo, null);
contentPane.add(find, null);
jPopupMenu1.add(sendmessage);
jPopupMenu1.add(getmessage);
jPopupMenu1.add(lookinfo);
jPopupMenu1.add(chatrecord);
jPopupMenu1.add(delfriend);
senddiapane.add(send, null);
senddiapane.add(cancel, null);
senddiapane.add(sendtext, null);
senddiapane.add(name, null);
senddiapane.add(nametext, null);
senddiapane.add(icq, null);
senddiapane.add(icqno, null);
senddiapane.add(jLabel8, null);
getdata.getContentPane().add(getinfo, null);
getdata.getContentPane().add(getok, null);
getdata.getContentPane().add(jLabel3, null);
getdata.getContentPane().add(getfromname, null);
getdata.getContentPane().add(jLabel4, null);
getdata.getContentPane().add(getfromjicq, null);
getdata.getContentPane().add(jLabel9, null);
hello.getContentPane().add(jLabel1, null);
hello.getContentPane().add(helloname, null);
hello.getContentPane().add(hellojicq, null);
hello.getContentPane().add(jLabel6, null);
hello.getContentPane().add(helloemail, null);
hello.getContentPane().add(jLabel7, null);
hello.getContentPane().add(helloinfo, null);
hello.getContentPane().add(jLabel5, null);
hello.getContentPane().add(jButton3, null);
hello.getContentPane().add(hellook, null);
OneAddyou.getContentPane().add(jLabel10, null);
OneAddyou.getContentPane().add(oneaddme, null);
OneAddyou.getContentPane().add(addit, null);
OneAddyou.getContentPane().add(iknow, null);
DirectAdd.getContentPane().add(jLabel11, null);
DirectAdd.getContentPane().add(jLabel12, null);
DirectAdd.getContentPane().add(friendid, null);
DirectAdd.getContentPane().add(directaddok, null);
senddata.pack();
}
/**Overridden so we can exit when window is closed*/
protected void processWindowEvent(WindowEvent e) { //关闭程序
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
//tell who add me as friend offline
try {
String whoips;
String s = "offline" + myjicq;
s.trim();
System.out.println(s);
byte[] data = s.getBytes();
for (int i = 0; i < whoaddmesip.size(); i++) {
whoips = whoaddmesip.get(i).toString().trim();
sendPacket = new
DatagramPacket(data, s.length(), InetAddress.getByName(whoips),
sendPort);
sendSocket.send(sendPacket); //通知好友我下线了
} //for
}
catch (IOException e2) {
sendtext.append(sendtext.getText());
e2.printStackTrace();
}
//end offline
//告诉服务器我下线了
out.println("logout");
out.println(myjicq);
//socket.close();
System.exit(0);
}
}
void this_mousePressed(MouseEvent e) {
jButton1.setIcon(icon1);
}
void list_mouseClicked(MouseEvent e) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -