当前位置:编程学习 > JAVA >>

请教一个Java的Socket通信程序的调试问题.

高手,您好: 
       我在写一个“Java的Socket通信”的程序的登录模块..
       C端连接S端,出现了问题...
       希望高手帮助我分析一下原因,源代码如下:
       (我的S端的代码:)
       
package s_port_package_BeiJing;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Arrays;
import java.util.concurrent.ArrayBlockingQueue;

import javax.swing.JFrame;

public class ChatServer extends JFrame {
/**
 * ChatServer.java
 * 2013-5-9
 * @author cjco
 */
//全局定义区域:定义各种成员变量;
int SysPreDoctorNum = 2000;
int SysPreCustomerNum = 2000;
static Integer MyMEMNum = 202;
static Integer MyCUSNum = 202;
static String D_PORT_SERVER = "127.0.0.1";
static String S_PORT_SERVER = "127.0.0.1";
static String C_PORT_CLIENT = "127.0.0.1";
static String[] bufMemUID = new String[MyMEMNum];
static String[] bufMemPWD = new String[MyMEMNum];
static String[] bufCusUID = new String[MyCUSNum];
static String[] bufCusPWD = new String[MyCUSNum];
String MyMemIDPath = "D:"+File.separator+"MyDoc"+File.separator+"Sport"+File.separator+"registeredMemUID.txt";
String MyMemPWDPath = "D:"+File.separator+"MyDoc"+File.separator+"Sport"+File.separator+"registeredMemPWD.txt";
String MyCustomerIDPath = "D:"+File.separator+"MyDoc"+File.separator+"Sport"+File.separator+"CustomerID.txt";
String MyCustomerPWDPath = "D:"+File.separator+"MyDoc"+File.separator+"Sport"+File.separator+"CustomerPWD.txt";
String MyRole = null;
String MySysNum = null;
ServerSocket ss1 = null;
String buffertemp = null;
String MyInfo = null;
String[] buffer = null;
String MySysRole = null; 
public static int Index = 0;
static int num = 0;
int[] a = null;
int para = -1;
int condition = -1;
private static final long serialVersionUID = 1L;
boolean started = false;
static Socket so1;
static Socket so2;
File f = null;
static int PM_linknumlog = 0;
DataOutputStream dops2 = null;
DataOutputStream dips2 = null;
DataOutputStream dops12 = null;
public static int[] LocalDoctoronline = new int[MyMEMNum];
public int[] LocalDoctoronlineCondition = new int[MyMEMNum];
public int[] Doctorcomplicatingnum = new int[MyMEMNum];
ArrayBlockingQueue<String> sportmessagelist = new ArrayBlockingQueue<String>(100000,true);
public static MyMemHashMap mapDoctoronline = new MyMemHashMap();
public static MyCusHashMap mapCustomeronline = new MyCusHashMap();
public static ArrayBlockingQueue<String> GoalDoctorchatwordlist = null;
public static ArrayBlockingQueue<String> GoalCustomerchatwordlist = null;
public static ArrayBlockingQueue<DataOutputStream> GoalDoctorSendInfo = null;
public static ArrayBlockingQueue<DataOutputStream> GoalCustomerSendInfo = null;

public static void main(String[] args) {
try {
so2 = new Socket(D_PORT_SERVER,9999);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
new ChatServer().start();
}

    //“C端用户的其他Socket请求的"交给线程处理"动作。
public void start(){
try {
dops2 = new DataOutputStream(so2.getOutputStream());
dops2.writeUTF("0#0#BeiJingWangFuZhongXiJieHeYiYuan#0#Start#S#BeiJing");
dops2.flush();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ReadTxt.read(MyMemIDPath);
int numID = ReadTxt.logData.size();

for(int i = 0;i<numID;i++){
bufMemUID[i]=ReadTxt.logData.get(i);
}
ReadTxt.logData.clear();
ReadTxt.read(MyMemPWDPath);
int MemnumPWD = ReadTxt.logData.size();
for(int i = 0;i<MemnumPWD;i++){
bufMemPWD[i]=ReadTxt.logData.get(i);
}
ReadTxt.logData.clear();
ReadTxt.read(MyCustomerIDPath);
numID = ReadTxt.logData.size();
System.out.println(numID);
for(int i=0;i<numID;i++){
bufCusUID[i] = ReadTxt.logData.get(i);
}
ReadTxt.logData.clear();
ReadTxt.read(MyCustomerPWDPath);
    int CusnumPWD = ReadTxt.logData.size();
    for(int i =0;i<CusnumPWD;i++){
     bufCusPWD[i]=ReadTxt.logData.get(i);
    }
    GoalDoctorchatwordlist = new ArrayBlockingQueue<String>(100000,true);
    GoalCustomerchatwordlist = new ArrayBlockingQueue<String>(100000,true);
    GoalDoctorSendInfo = new ArrayBlockingQueue<DataOutputStream>(SysPreDoctorNum,true);
    GoalCustomerSendInfo = new ArrayBlockingQueue<DataOutputStream>(SysPreCustomerNum,true);
    
    ReadTxt.logData.clear();
try {
Arrays.fill(LocalDoctoronline, 0);
// TODO Auto-generated method stub 
ss1 = new ServerSocket(8888,50); 
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(true){
         //创建绑定到端口8888的ServerSocket对象
try {
so1 = ss1.accept();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(so1+"|||---");
         System.out.println("服务器正在对8888端口进行监听");
            //服务器循环接受客户端的请求,为不同的客户端提供服务
try {
System.out.println("进入try");
System.out.println("进入try1");
         DataInputStream dips1 = new DataInputStream(so1.getInputStream());
         DataOutputStream dops12 = new DataOutputStream(so1.getOutputStream());
         System.out.println("进入try2");
         buffertemp = dips1.readUTF();
         System.out.println("进入try3");
         System.out.println("C_port_connect"+"I'm_Doctor_From_BeiJing");
         System.out.println(buffertemp);
         buffer = buffertemp.split("[#]");
         System.out.println("S:"+buffer);
         condition = Integer.parseInt(buffer[0]);
         System.out.println("S:"+condition);
         MyInfo = buffer[1];
         System.out.println(MyInfo);
         MySysRole = buffer[2]; 
         MyRole = buffer[3];
         MySysNum = buffer[4];
         if(MySysRole.equals("D")){
         ManageTheChannel3RecvUserAccountLoopSendClientNum mb = new ManageTheChannel3RecvUserAccountLoopSendClientNum("Thread_3",MyInfo,this,dops12);
         mb.start(); 
         }else{
         if(Integer.parseInt(MySysNum)==200){
         if(MyRole.equals("Doctor")){
         LocalDoctoronline[Integer.parseInt(MySysNum)]=1;
         LocalDoctoronlineCondition[Integer.parseInt(MySysNum)]=1;
         }
         }
         switch(condition){
              case 0:
              {//已对照完毕.
              ManageTheChannel0ConfirmandSaveDS obj0 = new ManageTheChannel0ConfirmandSaveDS(dops12,this,MyInfo);
              Thread m0 = new Thread(obj0,"MyThread1");
              m0.start();
              break;
              }
              case 1:
              {
              Complete_ManageTheChannel1SendInfo m1 = new Complete_ManageTheChannel1SendInfo("Thread2",this,MyInfo);
              m1.start();
              break;
              }
              case 2:
              {//已对照完毕.
              ManageTheChannel2ExitSysGivOrderNum m2 = new ManageTheChannel2ExitSysGivOrderNum(dops12,"Thread3",MyInfo,this);
              m2.start();
              break;                                                                                                           
              }
              case 3:
              {
              }
              case 4:
              { 
              ManageTheServiceValueForEnterprise m4 = new ManageTheServiceValueForEnterprise(MyInfo,dops12);
              m4.start();
              }
              case 6:
              {
              GetOurServiceWorkValue m6 = new GetOurServiceWorkValue(MyInfo,dops12);
              m6.start();
              }
         }
         }
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
        

     }
}

    S端的上述框架类中的“第174行的ManageTheChannel0ConfirmandSaveDS类”,他是负责进行“用户的登陆账户和密码的"本系统库中有无此人”的逻辑确认的.
    他的源代码如下:
    (由于篇幅原因,请高手见我之后的跟帖..) socket 源代码 调试 通信 登陆 --------------------编程问答-------------------- 上文中的ManageTheChannel0ConfirmandSaveDS类的源代码如下:
    
package s_port_package_BeiJing;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket; 

public class ManageTheChannel0ConfirmandSaveDS implements Runnable{
ChatServer Localdemo = null;
int condition = -1;
Integer MyIndex = 0;
Integer MyIndexCustomer = 0;
static String str1,str2,str3;
int Myonline = 1;
static Socket so1 = null;
int j = 0;
boolean ismember = false;
boolean iscustomer = false;
byte[] b1 = new byte[1024];
byte[] b2 = new byte[1024];
int lenone = 0;
int lentwo=0;
DataOutputStream Localdops1 = null;
DataInputStream Localdips1 = null;
String LocalBufffer,MyRole,UserIP,MyUID,MyPWD = null;
String[] buffers2 = null;
String MySocketData = null;

public  ManageTheChannel0ConfirmandSaveDS(DataOutputStream dops1,ChatServer demo,String SocketData) {
System.out.println("S_port_0_thread");
Localdemo = demo;
MySocketData = SocketData;
Localdops1 = dops1;
}

public void run(){
try {
System.out.println("CJCO");
buffers2 = MySocketData.split("[%]");
System.out.println(buffers2);
MyUID = buffers2[0];
MyPWD = buffers2[1];
MyRole = buffers2[2];
UserIP = buffers2[3];
if(MyRole.equals("Teacher")){
ismember = confirmTeacher();
if(ismember){
System.out.println("S_port_0_thread_53");
int TeacherIndex = GetUserIndex.returnTeacherIndex(MyUID);
MyIndex = new Integer(TeacherIndex);
Localdops1 = new DataOutputStream(so1.getOutputStream());
Localdops1.writeUTF("true"+"#"+String.valueOf(MyIndex));
Localdops1.flush();
ChatServer.LocalTeacheronline[MyIndex]=1; 
S_port_ChatClientTeacher_DS D1 = new S_port_ChatClientTeacher_DS(MyIndex,buffers2[0],"Teacher",buffers2[2],so1,1);
ChatServer.mapTeacheronline.put(GetUserIndex.returnTeacherIndex(MyUID),D1);
}else{
Localdops1.writeUTF("false"+"#"+"201");
}
}else{
iscustomer = confirmCustomer();
if(iscustomer){
System.out.println("S_port_0_thread_69");
int CustomerIndex = GetUserIndex.returnCustomerIndex(MyUID);
MyIndex = new Integer(CustomerIndex);
Localdops1.writeUTF("true"+String.valueOf(MyIndex));
Localdops1.flush();
S_port_ChatClientCustomer_DS D1 = new S_port_ChatClientCustomer_DS(MyIndex,buffers2[0],"Customer",buffers2[2],so1,1);
ChatServer.mapCustomeronline.put(GetUserIndex.returnCustomerIndex(MyUID),D1);
}else{
System.out.println("S_port_0_thread_78");
Localdops1.writeUTF("false"+"#"+"201");
}
}} catch (IOException e) {

// TODO Auto-generated catch block
e.printStackTrace();
}
}

public boolean confirmTeacher(){
int i = 0;
System.out.println(ChatServer.bufMemUID[0]+"1");
System.out.println(ChatServer.bufMemPWD[0]+"2");
System.out.println(MyUID+"3");
System.out.println(MyPWD+"4");
while (i < ChatServer.bufMemUID.length) {
if ((MyUID == ChatServer.bufMemUID[i]) && (MyPWD == ChatServer.bufMemPWD[i])) {
return true;
}
 i++;
}
System.out.println(MyUID+"5");
System.out.println(MyPWD+"6");
System.out.println(ChatServer.bufMemUID[0]+"7");
System.out.println(ChatServer.bufMemPWD[0]+"8");
return false;
}


public boolean confirmCustomer(){
int i = 0;
while (i < ChatServer.bufCusUID.length) {
if ((MyUID == ChatServer.bufCusUID[i]) && (MyPWD == ChatServer.bufCusPWD[i])) {
return true;
}
i++;
}
return false;
}

}

    我的C端对应的登录模块的代码如下:
    (Login窗口)
    
package c_port_packageBJStudent;

import java.awt.Rectangle;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import c_port_packageYCDoctor.MyJButton;

public class Login extends JFrame{

/**
 * 
 */
    public static String D_PORT_SERVER = "127.0.0.1";
private static final long serialVersionUID = 1L;
/**
 * @param args
 */
JTextField jtf0 = new JTextField();
JTextField jtf1 = new JTextField();
JLabel jl0 = new JLabel();
JLabel jl1 = new JLabel();
MyJButton jb2 = new MyJButton("注册","127.0.0.1");
MyJButtonPayForSysProduct jb3 = new MyJButtonPayForSysProduct("买担保");
JPasswordField jpwf = new JPasswordField();       
JPanel jp1 = new JPanel();
public static String UID = null;
static String PWD = null;
static String D_port_Server = "127.0.0.1";
static String S_port_Server = "127.0.0.1";
Socket so2 = null;
Socket so3 = null;

public static void main(String[] args) {
// TODO Auto-generated method stub
new Login();
}

public Login(){
this.setTitle("赤兔马网络答疑学校,让您的孩子,从杜月笙成为段永平");
try {
so2 = new Socket(D_port_Server,9999);
so3 = new Socket(S_port_Server,8888);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
MyJButtonLogin jb1 = new MyJButtonLogin("登陆",jtf0.getText(),jtf1.getText(),this,so2,so3);
this.setSize(500,600);
this.setVisible(true);
this.setDefaultCloseOperation(Login.EXIT_ON_CLOSE);
jb1.setBounds(new Rectangle(30,220,80,30));
jb2.setBounds(new Rectangle(236,220,80,30));
jb3.setBounds(new Rectangle(128,220,90,30));
jp1.setLayout(null);
jp1.add(jb1);
jp1.add(jb2);
jtf0.setBounds(new Rectangle(73,115,220,25));
jp1.add(jtf0);
jpwf.setBounds(new Rectangle(73,150,220,25));
jp1.add(jpwf) ;
jl0 = new JLabel("用户名");
jl1 = new JLabel("密码");
jl0.setBounds(new Rectangle(30,115,40,25));
jl1.setBounds(new Rectangle(30,150,40,25));
jp1.add(jl0);
jp1.add(jl1);
jp1.add(jb3);
this.add(jp1);
this.setBounds(500,218,370,330);
this.setContentPane(jp1);
UID = jtf0.getText();
PWD = jtf1.getText();
}
}

    我的C端的对应的“登陆功能的源代码”如下:
    (Login类)
    
package c_port_packageBJDoctor;

import java.awt.Rectangle;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import c_port_packageYCDoctor.MyJButton;

public class Login extends JFrame{

/**
 * 
 */
    public static String D_PORT_SERVER = "127.0.0.1";
private static final long serialVersionUID = 1L;
/**
 * @param args
 */
JTextField jtf0 = new JTextField();
JTextField jtf1 = new JTextField();
JLabel jl0 = new JLabel();
JLabel jl1 = new JLabel();
MyJButton jb2 = new MyJButton("注册","127.0.0.1");
MyJButtonPayForSysProduct jb3 = new MyJButtonPayForSysProduct("买担保");
JPasswordField jpwf = new JPasswordField();       
JPanel jp1 = new JPanel();
public static String UID = null;
static String PWD = null;
static String D_port_Server = "127.0.0.1";
static String S_port_Server = "127.0.0.1";
Socket so2 = null;
Socket so3 = null;
DataOutputStream dops2 = null;
DataOutputStream dops3 = null;
DataInputStream dips2 = null;
DataInputStream dips3 = null;

public static void main(String[] args) {
// TODO Auto-generated method stub
new Login();
}

public Login(){
this.setTitle("赤兔马网络答疑学校,让您的孩子,从杜月笙成为段永平");
try {
so2 = new Socket(D_port_Server,9999);
so3 = new Socket(S_port_Server,8888);
dops2 = new DataOutputStream(so2.getOutputStream());
dips2 = new DataInputStream(so2.getInputStream());
dops3 = new DataOutputStream(so3.getOutputStream());
dips3 = new DataInputStream(so3.getInputStream());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(jtf0.getText());
System.out.println(jtf1.getText());
MyJButtonLogin jb1 = new MyJButtonLogin("登陆",jtf0.getText(),jtf1.getText(),this,dops2,dops3,dips2,dips3);
this.setSize(500,600);
this.setVisible(true);
this.setDefaultCloseOperation(Login.EXIT_ON_CLOSE);
jb1.setBounds(new Rectangle(30,220,80,30));
jb2.setBounds(new Rectangle(236,220,80,30));
jb3.setBounds(new Rectangle(128,220,90,30));
jp1.setLayout(null);
jp1.add(jb1);
jp1.add(jb2);
jtf0.setBounds(new Rectangle(73,115,220,25));
jp1.add(jtf0);
jpwf.setBounds(new Rectangle(73,150,220,25));
jp1.add(jpwf) ;
jl0 = new JLabel("用户名");
jl1 = new JLabel("密码");
jl0.setBounds(new Rectangle(30,115,40,25));
jl1.setBounds(new Rectangle(30,150,40,25));
jp1.add(jl0);
jp1.add(jl1);
jp1.add(jb3);
this.add(jp1);
this.setBounds(500,218,370,330);
this.setContentPane(jp1);
UID = jtf0.getText();
PWD = jtf1.getText();
}
}

    (上文中的第70行代码的“MyJButtonLogin”类的源代码如下:)
    【请高手见下文...】
      --------------------编程问答--------------------
package c_port_packageBJDoctor;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JButton;


public class MyJButtonLogin extends JButton {
static NoteUserLoginFrame cjco;
boolean isMyUser = false;
DataOutputStream Localdops3 = null;
DataOutputStream Localdops2 = null;
DataInputStream Localdips3 = null;
DataInputStream Localdips2 = null;
String MySysNum = null;
public static String MyUID = null;
public static String MyPWD = null;
String str2 = null;
public static String str3 = null;
String str4 = null;
Login log = null;
Socket so2 = null;
Socket so3 = null;
/**
 * 
 */
private static final long serialVersionUID = 1L;

/**
 * @param args
 */


public MyJButtonLogin(String button, String UID, String pwd, Login login,DataOutputStream dops2,DataOutputStream dops3,DataInputStream dips2,DataInputStream dips3) {
super(button);
MyUID = UID;
MyPWD = pwd;
Localdops2 = dops2;
Localdops3 = dops3;
Localdips2 = dips2;
Localdips3 = dips3;
InetAddress addr = null;
try {
addr = InetAddress.getLocalHost();
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
str3=addr.getHostAddress().toString();//获得本机IP
log = login;
System.out.println("" + log.toString());
this.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent et) {
log.setVisible(false);
try {

Localdops3.writeUTF("0#"+MyUID + "%" + MyPWD+"%"+"Doctor"+"%"+str3+"#"+"C"+"#"+"Doctor"+"#"+"200");
Localdops3.flush();
String str = Localdips3.readUTF();
System.out.println(str);
System.out.println("MyJButtonLogin_start");
cjco = new NoteUserLoginFrame(MyUID,MyPWD,Localdips2,Localdips3,Localdops2,Localdops3);
}catch(Exception e){
e.printStackTrace();
}
}
});
}
}

    我的上文中的“NoteUserLoginFrame类”的源代码如下:
    
package c_port_packageBJDoctor;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JButton;


public class MyJButtonLogin extends JButton {
static NoteUserLoginFrame cjco;
boolean isMyUser = false;
DataOutputStream Localdops3 = null;
DataOutputStream Localdops2 = null;
DataInputStream Localdips3 = null;
DataInputStream Localdips2 = null;
String MySysNum = null;
public static String MyUID = null;
public static String MyPWD = null;
String str2 = null;
public static String str3 = null;
String str4 = null;
Login log = null;
Socket so2 = null;
Socket so3 = null;
/**
 * 
 */
private static final long serialVersionUID = 1L;

/**
 * @param args
 */


public MyJButtonLogin(String button, String UID, String pwd, Login login,DataOutputStream dops2,DataOutputStream dops3,DataInputStream dips2,DataInputStream dips3) {
super(button);
MyUID = UID;
MyPWD = pwd;
Localdops2 = dops2;
Localdops3 = dops3;
Localdips2 = dips2;
Localdips3 = dips3;
InetAddress addr = null;
try {
addr = InetAddress.getLocalHost();
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
str3=addr.getHostAddress().toString();//获得本机IP
log = login;
System.out.println("" + log.toString());
this.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent et) {
log.setVisible(false);
try {

Localdops3.writeUTF("0#"+MyUID + "%" + MyPWD+"%"+"Doctor"+"%"+str3+"#"+"C"+"#"+"Doctor"+"#"+"200");
Localdops3.flush();
String str = Localdips3.readUTF();
System.out.println(str);
System.out.println("MyJButtonLogin_start");
cjco = new NoteUserLoginFrame(MyUID,MyPWD,Localdips2,Localdips3,Localdops2,Localdops3);
}catch(Exception e){
e.printStackTrace();
}
}
});
}
}

    现在我的MyEclipse编译器的错误输出是:
    “C端的console窗口”:
    c_port_packageBJDoctor.Login[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=赤兔马网络答疑学校,让您的孩子,从杜月笙成为段永平,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,0x0,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]

     “S端的console窗口”:
    
    
    两个窗口,全部“没有报任何错”,但是,也没有给出我想要的结果...
    (S端的console窗口,没有打印出“我想要的try3代码块所进行的"插桩测试输出"”的结果..
    希望得到高手的点拨:
    弟我的代码,什么地方出现的问题...?
    静候高手的点拨!! --------------------编程问答-------------------- 补充一句:
    我的S端的“插桩代码行”在ChatServer类中的第149行的代码位置处...
    希望得到高手的点拨!! --------------------编程问答-------------------- NoteUserLoginFrame 的代码写错了

目测跟MyJButtonLogin 的代码一样
--------------------编程问答-------------------- 另外第一次防线package是用_的,涨姿势了~~ --------------------编程问答-------------------- 这么多代码叫别人怎么看啊 --------------------编程问答-------------------- 灌水的混子哥,谢谢你的提醒..
    由于今天的匆忙..
    弟我没有将代码检查仔细,写错了一个类文件..
    完整的代码如下:
    (NoteUserLoginFrame类:)
    
package c_port_packageBJDoctor;

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class NoteUserLoginFrame extends JFrame implements WindowListener{
/**
 * 
 */

private static final long serialVersionUID = 1L;
JPanel jP1 = new JPanel();
static String MyworkNum = null;
Font fnt = new Font("宋体",0,20);
static JLabel jL0 = new JLabel();
JLabel jL1 = new JLabel();
DataInputStream dips = null;
String SocketData = null;
String[] buffer = null;
DataInputStream Localdips2 = null;
DataOutputStream Localdops2 = null;
DataInputStream Localdips3 = null;
DataOutputStream Localdops3 = null;
String isOurUser = null;
boolean isUser = false;

public NoteUserLoginFrame(String UID,String PWD,DataInputStream dips2,DataInputStream dips3,DataOutputStream dops2,DataOutputStream dops3){
this.setTitle("系统信息提示:");
System.out.println("NoteUserLoginFrame_start");
jP1.setLayout(new BorderLayout());
System.out.println("test1");
jL0.setText("客户端正在登陆,请尊敬的用户稍等十几秒钟,我们正在与我们的服务器进行数据通信!!请您耐心等待!!");
System.out.println("test2");
jL0.setFont(fnt);
System.out.println("test5");
jP1.add(jL0,BorderLayout.CENTER);
System.out.println("test6");
this.add(jP1);
System.out.println("test7");
setBounds(200,300,1000,100);
System.out.println("test8");
setVisible(true);
System.out.println("test9");
Localdips2 = dips2;
Localdips3 = dips3;
Localdops2 = dops2;
Localdops3 = dops3;
try {
SocketData = Localdips3.readUTF();
System.out.println("test10");
buffer = SocketData.split("[#]");
System.out.println("S_port_Data_Access:"+buffer);
System.out.println(buffer);
isOurUser = buffer[0];
System.out.println(isOurUser);
MyworkNum = buffer[1];
System.out.println(MyworkNum);
isUser = Boolean.parseBoolean(isOurUser);
System.out.println(isUser);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(isUser){
new RelayNo1(UID,PWD,isUser,Localdips2,Localdips3,Localdops2,Localdops3,MyworkNum);
}
}
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub

}
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub

}
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub

}
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub

}
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub

}

}

    希望得到高手的相助:
    将弟我的这个类文件,他的源代码,犯的错误,告诉我...
    谢谢灌水的混子!!
    谢谢高手!!
                                                                   
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,