窗体为何显示不了? 把try屏蔽掉就可以显示窗体了。为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 start:ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8080]没有设置addr和port,系统没有执行try,直接finally了 import java.io.*;//import java.net.*;import javax.swing.*;public class Server extends JFrame{ JTextArea textreceive=new JTextArea(); JTextArea textsend=new JTextArea(); JButton button=new JButton("Send"); BufferedReader in; PrintWriter out; public Server () throws IOException { //init controls setTitle("Chat Programmer"); setBounds(50,50,500,400); getContentPane().setLayout(null); getContentPane().add(textreceive); getContentPane().add(textsend); getContentPane().add(button); textreceive.setBounds(10,10,450,300); textsend.setBounds(10,320,350,30); button.setBounds(370,320,70,30); /* ServerSocket server=new ServerSocket(8080); System.out.println("start:"+server); try { Socket s=server.accept(); try { System.out.println("connecting :"+s); } finally { s.close(); } } finally { server.close(); }*/ } public static void main(String args[]) throws IOException { Server s=new Server(); s.show(); }}就可以显示界面了 Socket s=server.accept();的意思是等待一个连接。程序执行到这句就停了。Server s=new Server();无法结束。s.show();执行不到。 那如何使Server.java既能显示界面,又能监听呢? 又写了一个Client.javaimport java.net.*;import java.io.*;import javax.swing.*;import java.awt.*;public class Client extends JFrame{ JTextArea textreceive=new JTextArea(); JTextArea textsend =new JTextArea(); JButton button =new JButton ("Send"); BufferedReader in; PrintWriter out; public Client() throws IOException { //init controls setTitle("Chat Programmer"); setBounds(50,50,500,400); getContentPane().setLayout(null); getContentPane().add(textreceive); getContentPane().add(textsend); getContentPane().add(button); textreceive.setBounds(10,10,450,300); textsend.setBounds(10,320,350,30); button.setBounds(370,320,70,30); Socket client=new Socket("127.0.0.1",8080); try { System.out.println("Socket=" +client); } finally { client.close(); } } public static void main(String args[]) throws IOException { Client c=new Client(); c.show(); }}先执行Server.java,再执行Client.java,就能显示窗体了:-) import java.io.*;import java.net.*;import javax.swing.*;import java.awt.*;public class Server extends JFrame{ JTextArea textreceive=new JTextArea(); JTextArea textsend=new JTextArea(); JButton button=new JButton("Send"); BufferedReader in; PrintWriter out; public Server () { //init controls setTitle("Server"); setBounds(50,50,500,400); getContentPane().setLayout(null); getContentPane().add(textreceive); getContentPane().add(textsend); getContentPane().add(button); textreceive.setBounds(10,10,450,300); textsend.setBounds(10,320,350,30); button.setBounds(370,320,70,30); } public void netstart() throws IOException { ServerSocket server=new ServerSocket(8080); System.out.println("start:"+server); try { Socket s=server.accept(); try { System.out.println("connecting :"+s); in=new BufferedReader(new InputStreamReader(s.getInputStream())); out=new PrintWriter( new BufferedWriter( new OutputStreamWriter(s.getOutputStream()))); String str=null; while (true) { str=in.readLine(); if (str!=null) System.out.println("\n"+str); } } finally { s.close(); } } finally { server.close(); } } public static void main(String args[]) throws IOException { Server s=new Server(); s.show(); s.netstart(); }}这段代码执行的时候怎么会出错?说地址已使用 是不是要把socket放入另一个线程中? JList如何默认选中第一个列表 进来看看,你也会很疑惑的。 org.eclipse.swt包的问题 如何使组件在几个同心圆上显示并改变颜色? 加分求解~ 如何监听SWT Browser控件里的鼠标坐标? 怎样把(list)控件选中的行的(text)提交??? 人背连装jdk也会卡你 300[分]求javamail如何实现“地址本”、“定时发送”等功能! tomcat4如何配置数据库连接池(oracle) 有谁做过用java解析asp文件啊????(非常急,在线等) 我只会C,怎么学JAVA,痛苦,请各位师哥师姐帮帮我啊,拜求!!
没有设置addr和port,系统没有执行try,直接finally了
//import java.net.*;
import javax.swing.*;public class Server extends JFrame
{
JTextArea textreceive=new JTextArea();
JTextArea textsend=new JTextArea();
JButton button=new JButton("Send");
BufferedReader in;
PrintWriter out;
public Server () throws IOException
{
//init controls
setTitle("Chat Programmer");
setBounds(50,50,500,400);
getContentPane().setLayout(null); getContentPane().add(textreceive);
getContentPane().add(textsend);
getContentPane().add(button);
textreceive.setBounds(10,10,450,300);
textsend.setBounds(10,320,350,30);
button.setBounds(370,320,70,30);
/*
ServerSocket server=new ServerSocket(8080);
System.out.println("start:"+server);
try
{
Socket s=server.accept();
try
{
System.out.println("connecting :"+s);
}
finally
{
s.close();
}
}
finally
{
server.close();
}*/
}
public static void main(String args[]) throws IOException
{
Server s=new Server();
s.show();
}
}
就可以显示界面了
程序执行到这句就停了。
Server s=new Server();无法结束。
s.show();执行不到。
import java.io.*;
import javax.swing.*;
import java.awt.*;public class Client extends JFrame
{
JTextArea textreceive=new JTextArea();
JTextArea textsend =new JTextArea();
JButton button =new JButton ("Send");
BufferedReader in;
PrintWriter out;
public Client() throws IOException
{
//init controls
setTitle("Chat Programmer");
setBounds(50,50,500,400);
getContentPane().setLayout(null); getContentPane().add(textreceive);
getContentPane().add(textsend);
getContentPane().add(button);
textreceive.setBounds(10,10,450,300);
textsend.setBounds(10,320,350,30);
button.setBounds(370,320,70,30);
Socket client=new Socket("127.0.0.1",8080);
try
{
System.out.println("Socket=" +client);
}
finally
{
client.close();
}
}
public static void main(String args[]) throws IOException
{
Client c=new Client();
c.show();
}
}先执行Server.java,再执行Client.java,就能显示窗体了:-)
import java.net.*;
import javax.swing.*;
import java.awt.*;public class Server extends JFrame
{
JTextArea textreceive=new JTextArea();
JTextArea textsend=new JTextArea();
JButton button=new JButton("Send");
BufferedReader in;
PrintWriter out;
public Server ()
{
//init controls
setTitle("Server");
setBounds(50,50,500,400);
getContentPane().setLayout(null); getContentPane().add(textreceive);
getContentPane().add(textsend);
getContentPane().add(button);
textreceive.setBounds(10,10,450,300);
textsend.setBounds(10,320,350,30);
button.setBounds(370,320,70,30);
}
public void netstart() throws IOException
{
ServerSocket server=new ServerSocket(8080);
System.out.println("start:"+server);
try
{
Socket s=server.accept();
try
{
System.out.println("connecting :"+s);
in=new BufferedReader(new InputStreamReader(s.getInputStream()));
out=new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(s.getOutputStream())));
String str=null;
while (true)
{
str=in.readLine();
if (str!=null)
System.out.println("\n"+str);
}
}
finally
{
s.close();
}
}
finally
{
server.close();
}
}
public static void main(String args[]) throws IOException
{
Server s=new Server();
s.show();
s.netstart();
}
}
这段代码执行的时候怎么会出错?说地址已使用