📄 friends.java
字号:
package PC;
import java.io.*;
import java.net.*;
import java.util.StringTokenizer;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.event.*;
import java.util.*;
public class Friends extends JFrame
{
private JList list = new JList();
private String serverip;
private String serverport;
private String name;
private String cips;
private JLabel logo;
private JLabel userip;
private JLabel username;
private JLabel server_ip;
private JLabel server_port;
private Socket cc;
private Socket ck;
private OutputStreamWriter osw=null;
private InputStreamReader isr=null;
private BufferedReader br;
private Vector<String> connected = new Vector<String>();
public Friends()
{
}
public Friends(String ip,String port,String usename)
{
this.serverip=ip;
this.serverport=port;
this.name=usename;
Frame t = this;
t.setSize(480, 385);
setLayout(null);
setBackground(Color.white);
ImageIcon icon1 = new ImageIcon("lang1.jpg");
try
{
InetAddress addr=InetAddress.getLocalHost();
cips=addr.getHostAddress();
}catch(Exception e)
{
}
userip = new JLabel("local:"+cips);
logo = new JLabel(icon1);
username = new JLabel(name);
server_ip = new JLabel("server:"+serverip);
server_port = new JLabel("port:"+serverport);
logo.setSize(140, 100);
logo.setLocation(0, 1);
userip.setSize(140, 20);
userip.setLocation(2, 320);
username.setSize(140, 20);
username.setLocation(2, 300);
server_ip.setSize(140, 20);
server_ip.setLocation(2, 260);
server_port.setSize(140, 20);
server_port.setLocation(2, 280);
list.setSize(335, 350);
list.setLocation(135, 1);
add(logo);
add(userip);
add(list);
add(username);
add(server_ip);
add(server_port);
list.addMouseListener(new connect());
addWindowListener
(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
try
{
int iport=Integer.parseInt(port);
cc=new Socket(ip,iport);
}
catch(Exception e)
{
server_ip.setText("无法连接");
System.exit(0);
}
try
{
osw= new OutputStreamWriter(cc.getOutputStream());
osw.write(name+"\n",0,name.length()+1);
osw.flush();
isr = new InputStreamReader(cc.getInputStream());
br= new BufferedReader(isr);
}
catch(IOException ioe)
{
System.exit(0);
}
Getlist getlist = new Getlist(br,list,osw,name);
getlist.start();
listen alllisten = new listen(cc,connected,name,this);
alllisten.start();
}
public class connect extends MouseAdapter
{
boolean all=true;
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount()==2)
{
String s = (String)list.getSelectedValue();
StringTokenizer stringtokenizer = new StringTokenizer(s,"->");
String stoken="";
stoken=stringtokenizer.nextToken();
stoken=stringtokenizer.nextToken();
String newone = stoken;
if(all&&!newone.equals(cips+":"+cc.getLocalPort()))
{
connected.add(newone);
stringtokenizer = new StringTokenizer(stoken,":");
Message mage = new Message(stringtokenizer.nextToken(),stringtokenizer.nextToken(),name);
mage.start();
}
}
}
}
public Vector<String> getconnected()
{
return connected;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -