📄 dealrequest.java
字号:
package PC;
import java.io.*;
import java.net.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.event.*;
public class dealrequest extends Thread
{
private final static String NEW_LINE = System.getProperty("line.separator");
private Socket cc;
private Socket fc;
private Socket tc;
OutputStreamWriter osw=null;
InputStreamReader isr=null;
BufferedReader br;
private JTextField sip;
private JTextField cip;
private JTextField sport;
private JTextField cport;
private JTextArea input=new JTextArea();
private JButton request;
private JButton accept;
private JButton open;
private JButton audio;
private JTextArea chatroom=new JTextArea();
private JFrame cf;
private String line;
MultiThread send;
MultiChat insecond;
private String name;
private Friends friend;
dealrequest(Socket sc,Socket fc,Socket tc,String name,Friends friend)
{
super("CHAT-ROOM");
this.cc=sc;
this.fc=fc;
this.tc=tc;
this.name=name;
this.friend=friend;
sip=new JTextField();
cip=new JTextField();
sport=new JTextField();
cport=new JTextField();
request=new JButton("ASK");
accept=new JButton("SENT");
open=new JButton("SENT-FILE");
audio=new JButton("MIC-SPC");
cf=new ChatFrame(sip,cip,sport,cport,input,chatroom,accept,open,audio,this);
cf.setSize(480, 385);
cf.show();
}
public void run()
{
request.setVisible(false);
sip.setText(cc.getInetAddress().getHostAddress());
sport.setText(cc.getPort()+"");
cip.setText(cc.getLocalAddress().getHostAddress());
cport.setText(cc.getLocalPort()+"");
accept.requestFocus();
try
{
osw= new OutputStreamWriter(cc.getOutputStream());
isr = new InputStreamReader(cc.getInputStream());
br= new BufferedReader(isr);
}
catch(IOException ioe)
{
try
{
Thread.sleep(4000);
}
catch(InterruptedException ie)
{
System.exit(0);
}
System.exit(0);
}
accept.setEnabled(true);
accept.addActionListener(new BsendListener(chatroom, input, osw));
open.setEnabled(true);
open.addActionListener(new Select(osw));
audio.setEnabled(true);
audio.addActionListener(new Talk());
insecond=new MultiChat(chatroom,osw,br,fc,name);
insecond.start();
}
class BsendListener implements ActionListener
{
JTextArea chatroom;
JTextArea input;
OutputStreamWriter osw;
BsendListener(JTextArea content, JTextArea send, OutputStreamWriter osw)
{
this.chatroom = content;
this.input= send;
this.osw = osw;
}
public void actionPerformed(ActionEvent e)
{
String inputs;
inputs=input.getText();
if(inputs.length() > 0)
{
chatroom.append(NEW_LINE+name+": ");
chatroom.append(NEW_LINE+" "+inputs);
try{
String n=name+":";
osw.write(n+'\n',0,n.length()+1);
osw.flush();
osw.write(" "+inputs+'\n',0,(" "+inputs).length()+1);
osw.flush();
}
catch(Exception ee)
{
chatroom.append(NEW_LINE+"不能发送 \""+inputs+"\" , 发生了错误 : "+ee.getMessage());
}
input.setText("");
input.requestFocus();
}
}
}
public class Select implements ActionListener
{
OutputStreamWriter osw;
Select(OutputStreamWriter osw)
{
this.osw=osw;
}
public void actionPerformed(ActionEvent e)
{
try
{
send=new MultiThread(fc,"send",osw,chatroom);
send.start();
}
catch(Exception ex)
{
chatroom.append(NEW_LINE+"发生了错误 : "+ex.getMessage());
}
}
}
public class Talk implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
try
{
Capture talker=new Capture(tc);
Playback listener=new Playback(tc);
talker.start();
listener.start();
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -