?? findanswer.java
字號:
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import java.net.*;
public class FindAnswer extends JFrame implements ActionListener
{
private JLabel Label1=new JLabel("您要查找的朋友如下列表:");
private JButton viewButton=new JButton("查看資料");
private JButton addFriendButton=new JButton("加為好友");
private JButton deleteButton=new JButton("關閉");
private JScrollPane aJScrollPane=new JScrollPane();
// private JPopupMenu menu=new JPopupMenu();
// private JMenuItem lookinfo=new JMenuItem("查看消息");
// private JMenuItem addnewfriend=new JMenuItem("加為好友");
private BufferedReader in;
private PrintWriter out;
private Vector aVector=new Vector();
private Person aPerson;
private DefaultListModel listModel;
private JList aJList;
private String myqqno;
// private String itsnickname;
// private String itsqqno;
private DatagramPacket sendPacket,receivePacket;
private DatagramSocket sendSocket,receiveSocket;
private int udpPort=5000;
// private int sendPort=5001;
public FindAnswer(BufferedReader a1,PrintWriter a2,Vector a3,String a4)
{
in=a1;
out=a2;
aVector=a3;
myqqno=a4;
this.setTitle("查詢結果顯示");
this.setBounds(100,100,400,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
// menu.add(lookinfo);
// menu.add(addnewfriend);
Container c=this.getContentPane();
c.setLayout(new BorderLayout());
c.add(Label1,BorderLayout.NORTH);
// aVector.add(new Object[ ]{new ImageIcon("C:/Program Files/Java/jdk1.5.0_06/java新程序/fwgQQ/picture/1.jpg"),"帳號 昵稱 性別 來自何處"});
// aVector.add(new Object[ ]{new ImageIcon("C:/Program Files/Java/jdk1.5.0_06/java新程序/fwgQQ/picture/3.jpg"),"414206204 北航青年 男 北京"});
listModel=new DefaultListModel();
for(int i=0;i<aVector.size();i++)
{
aPerson=(Person) aVector.elementAt(i);
listModel.addElement(new Object[ ]{new ImageIcon(aPerson.getPic()),aPerson.getQqno()+" "+aPerson.getNickname()+" "+aPerson.getSex()+" "+aPerson.getInfo()});
}
aJList=new JList();
aJList.setVisibleRowCount(5);
aJList.setModel(listModel);
// listModel.addElement(new Object[ ]{new ImageIcon("C:/Program Files/Java/jdk1.5.0_06/java新程序/fwgQQ/picture/3.jpg"),"414206204 北航青年 男 北京"});
aJList.setCellRenderer(new Render());
aJScrollPane.getViewport().add(aJList,null);
// aJList.addMouseListener(new java.awt.event.MouseAdapter() {
// public void mousePressed(MouseEvent e)
// {
// aJList_mousePressed(e);
// }
// });
JPanel panel1=new JPanel();
panel1.setLayout(new BorderLayout());
panel1.setBorder(BorderFactory.createLineBorder(Color.black));
panel1.add(aJScrollPane,BorderLayout.CENTER);
c.add(panel1,BorderLayout.CENTER);
JPanel panel5=new JPanel();
panel5.setBorder(BorderFactory.createLineBorder(Color.black));
panel5.add(viewButton);
viewButton.addActionListener(this);
panel5.add(addFriendButton);
addFriendButton.addActionListener(this);
panel5.add(deleteButton);
deleteButton.addActionListener(this);
c.add(panel5,BorderLayout.SOUTH);
c.validate();
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent event)
{
dispose();
}
}
);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==addFriendButton)
{
aPerson=(Person) aVector.elementAt(aJList.getSelectedIndex());
out.println("add_friend");
out.println(myqqno);
out.println(aPerson.getQqno());
String answer="";
try {
answer=in.readLine().trim();
} catch (IOException ex) {
ex.printStackTrace();
}
if(answer.equals("friend_have_existed_false"))
{
JOptionPane.showMessageDialog(this,"你已經加過此人為好友!","ok",JOptionPane.INFORMATION_MESSAGE);
}
if(answer.equals("add_friend_false"))
{
JOptionPane.showMessageDialog(this,"加友失敗,原因不詳!","ok",JOptionPane.INFORMATION_MESSAGE);
}
if(answer.equals("add_friend_succeed"))
{
String hisip;
String s="oneaddyou "+myqqno;
byte[] data=s.getBytes();
System.out.println(s);
aPerson=(Person) aVector.elementAt(aJList.getSelectedIndex());
hisip=aPerson.getIp();
JOptionPane.showMessageDialog(this,"添加好友成功!","ok",JOptionPane.INFORMATION_MESSAGE);
try
{
sendSocket=new DatagramSocket();
System.out.println("fwg--"+sendSocket);
receiveSocket=new DatagramSocket(udpPort);
System.out.println("fwg--"+receiveSocket.getInetAddress()+":"+receiveSocket.getPort()+
","+receiveSocket.getLocalAddress()+":"+receiveSocket.getLocalPort());
System.out.println("udp"+udpPort+"ok");
sendPacket=new DatagramPacket(data,s.length(),InetAddress.getByName(hisip),udpPort);
sendSocket.send(sendPacket);
} catch (SocketException ex)
{
ex.printStackTrace();
System.out.println("false udp");
}
catch (UnknownHostException ex1)
{
ex1.printStackTrace();
}
catch (IOException ex2)
{
ex2.printStackTrace();
}
}
}
else if(e.getSource()==viewButton)
{
aPerson=(Person) aVector.elementAt(aJList.getSelectedIndex());
ViewInfo a=new ViewInfo(aPerson);
}
else if(e.getSource()==deleteButton)
{
this.dispose();
}
}
// void aJList_mousePressed(MouseEvent e)
// {
// menu.show(this,e.getX()+20,e.getY()+50);
// }
// public static void main(String arg[])
// {
// FindAnswer a=new FindAnswer();
// }
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -