解决方案 »

  1.   

    不好意思,由于我运行窗口前后的一些变化,我将代码的运行效果中的JLabel类的实例的文本内容进行了小小的修改之后,才进行的问题的描述,运行效果中的运行界面的源代码,与我在帖子里描述的源代码,就是在JLabel类的jL实例的文本内容中有小小的差异,其他的源代码,完全一致,希望得到高手的点拨:
        我的代码,什么地方出的问题?
        谢谢!!
      

  2.   

    是不是前面运行的没关掉?你的close方法没去指定。默认是隐藏窗口。改完代码又运行了一遍可能就2个窗口了我测试了代码只有一个。
      

  3.   

        
    withiter版主,linhu007兄弟,我把我的上层类的代码贴出来了,希望得到二位大神,与CSDN开发者联盟平台中路过的高手的指导.
        谢谢!!
        
      

  4.   

    源代码如下:
        package c_port_packageBJTeacher;import java.awt.Dialog;
    import java.awt.Rectangle;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.OutputStream;
    import java.net.InetAddress;import javax.swing.JComboBox;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.ScrollPaneConstants;
    //创建ChatClient类作为聊天窗口;
    public class Complete_ChatForeUITeacherClient0 extends AFrame implements WindowListener,KeyListener,ItemListener, ActionListener
    {
    CaptureScreen cjco = null;
    int lennum = 0;
    int MyVisiblestate = 1;
    String SendInfo = "";
    public String MyFriendIP = "";
    String MyURLLocal = "";
    private static final long serialVersionUID = 1L;
    static Integer ChatPartnerSerialMark = 200;
    Integer ChatFriNum = 200;
    JScrollPane jspanel0 = null;
    JScrollPane jspanel1 = null;
    static DataOutputStream dops3 = null;
    JPanel jp = new JPanel(); 
    static DataInputStream dips3 = null;
    boolean started = false;
    InetAddress addr = null;
    String title = "获取好友资料";
    String chatword = null;
    Dialog ordernum = new Dialog(this,title,started);
        String str;
        int T =0;
        public static String UIDLocal = null;
        static String roleLocal = null;
        static String iPAddressLocal = null;
        String Local_Teacher_facia = null;
        Integer MyIndex = -1;
        public String MyChatObjrolE = null;
        JPanel jp1 = new JPanel();
        public JTextArea Jta2 = new JTextArea();
    String TeacherFuct = null;
    public JTextArea Jta1 = new JTextArea();
    String[] s = {"输入用户编号获取用户资料","查看好友详细数据","截图","发送文件","接收文件","投诉好友","音频通信","视频通信","查看好友资料","打开好友列表","打开聊天记录","支付产品授权","转存本用户聊天记录"};
    JComboBox<String> combo1 = null;
    MyJButtonPayformyfuct jb1 = null;
    OutputStream outputstream = null; //CaptureScreen capScreen = new CaptureScreen(); 

    public Complete_ChatForeUITeacherClient0(String URL,Integer MyNum,String User_facia,Integer ChatObjectNum,String ChatObjrolE,String MyFriIP){
    this.setTitle(User_facia);
    System.out.println("C端Complete_ChatForeUITeacherClient");
    this.setBounds(new Rectangle(419,92,590,550));
    MyURLLocal = URL;
    System.out.println("C端最关心数据,URL值能够走到C端的聊天界面的构造方法:"+MyURLLocal);
    MyIndex = MyNum;
    roleLocal = "Teacher";
    ChatPartnerSerialMark = ChatObjectNum;
    System.out.println("CJ!!加油!!最牛逼伟望特必!!"+ChatObjectNum);
    MyChatObjrolE = ChatObjrolE;
    MyFriendIP = MyFriIP;
    iPAddressLocal = GetMyLocalIP.catchLocalIP();
    combo1 = new JComboBox<String>(s);

    //TODO:
    Jta2.addKeyListener(this);
    combo1.addItemListener(this);
     Jta1.setLineWrap(true); //如果加上这一句,那么水平方向的滚动条永远不会出现。
      Jta1.setEditable(false); 
    combo1.setBounds(new Rectangle(28,240,200,20));
        jspanel0=new JScrollPane(Jta1);
        jspanel1 = new JScrollPane(Jta2);
        jspanel0.setBounds (new Rectangle (10,10,500,220));
        jspanel1.setBounds (new Rectangle (10,280,500,220));
        jspanel0.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
        jspanel0.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jspanel1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    jspanel1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    jp1.setLayout(null);
    Jta1.setLineWrap(true);//激活自动换行功能
    Jta2.setLineWrap(true);
    Jta2.setWrapStyleWord(true);//激活断行不断字功能
        Jta1.setWrapStyleWord(true);//激活断行不断字功能
    jb1.setBounds(new Rectangle(321,240,150,20));
    jb1.addActionListener(this);
    jp1.setBounds(new Rectangle(10,10,590,550));
    jp1.add(jb1);
    jp1.add(combo1);
    jp1.add(jspanel0);
      jp1.add(jspanel1);
      setVisible(true);
      this.addWindowListener(this);
    }

    public void start() {
    this.add(jspanel0);
    this.add(jspanel1);
    this.add(jp1);
    jp1.setVisible(true);
    this.setVisible(true);
    } @Override
    public void windowActivated(WindowEvent e) {
    // TODO Auto-generated method stub


    } @Override
    public void windowClosed(WindowEvent e) {
    // TODO Auto-generated method stub SocketClient so2 = new SocketClient(Recv.D_PORT_SERVER,9911);
    synchronized(so2){
        so2.writeStr("18丗18丗"+"Teacher"+"丗"+RelayNo1.LocalMyWorkNum+"丗"+"Teacher"+"丠"+RelayNo1.LocalMyWorkNum+"丠"+ChatPartnerSerialMark+"丠"+"Teacher"+"丠"+"BeiJing"+"丗"+"C"+"丗"+"BeiJing","Complete_ChatForeUITeacherClient");
        so2.getMyResourceBack();
    }
    } @Override
    public void windowClosing(WindowEvent e) {
    // TODO Auto-generated method stub
    SocketClient so3 = new SocketClient(Recv.S_PORT_SERVER,8811);
    String content = "8丗IcloseOneFrame丗C丗Teacher丗"+NoteUserLoginFrame.MyworkNum;
    so3.writeStr(content, "Complete_ChatForeUITeacherClient");
    so3.getMyResourceBack();
    this.setVisible(false);
    } @Override
    public void windowDeactivated(WindowEvent e) {
    // TODO Auto-generated method stub
    } @Override
    public void windowDeiconified(WindowEvent e) {
    // TODO Auto-generated method stub

    }

    public static void main(String[] args){
    new Complete_ChatForeUITeacherClient("www.baidu.com",0,"CJCO!!加油!!",2,"Teacher","222.196.1.8").start(); }
    @Override
    public void windowOpened(WindowEvent e)
    {
    // TODO Auto-generated method stub

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

    }

    public void changeTitle(String ficia){
    this.setTitle(ficia);
    } @Override
    public void keyPressed(KeyEvent e) {
    // TODO Auto-generated method stub
         if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER){
    String Chatword = RelayMyJButtonLogin.MyUID+" "+GetTheSysData.getTheLocalData()+" "+GetMySysTime.getNowTime()+"\r\n     "+Jta2.getText().trim();
    SendInfo = Chatword.replaceAll("\r\n", "丱");
    Jta1.append(Chatword+"\r\n");
    Jta1.setCaretPosition(Jta1.getText().length());
    Jta2.setCaretPosition(Jta2.getText().length());
    Jta2.setText("");
    sendInfo(SendInfo);
         } }

    public void sendInfo(String Info){
    Integer MySysserNum = Recv.MySystemserialnum;
        String str = "1丗"+MySysserNum+"丠"+"Teacher"+"丠"+ChatPartnerSerialMark+"丠"+MyChatObjrolE+"丠"+iPAddressLocal+"丠"+Info+"丗"+"C"+"丗"+"Teacher"+"丗"+MySysserNum;
        System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"+str);
    SocketClient so3 = new SocketClient(Recv.S_PORT_SERVER,8811);
    synchronized(so3){
    so3.writeStr(str,"Complete_ChatForeUITeacherClient");
    }
    String str0 = "1丗1丗"+"Teacher"+"丗"+MySysserNum+"丠"+"Teacher"+"丠"+ChatPartnerSerialMark+"丠"+MyChatObjrolE+"丠"+iPAddressLocal+"丠"+Info+"丠"+Recv.MyServerPlace+"丗"+"C"+"丗"+Recv.MyServerPlace;
    SocketClient so2 = new SocketClient(Recv.D_PORT_SERVER,9911);
    so2.writeStr(str0, "Complete_ChatForeUITeacherClient");
    so2.getMyResourceBack();
    System.out.println("C端通信报文"+str0);
    } @Override
    public void keyReleased(KeyEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void keyTyped(KeyEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void itemStateChanged(ItemEvent e) {
    // TODO Auto-generated method stub
    TeacherFuct = (String)combo1.getSelectedItem(); 
    if(TeacherFuct.equals("输入用户编号获取用户资料")){
    new Code_Customer_OrderNum(MyChatObjrolE);
    }else if(TeacherFuct.equals("查看好友详细数据")){
    if(e.getStateChange() == ItemEvent.SELECTED){
    String url = Recv.MyJButton0URL[ChatPartnerSerialMark];
    System.out.println("C端最关心数据"+url);
    BareBonesBrowserLaunch.openURL(url);
    }
    }else if(TeacherFuct.equals("截图")){
    if(cjco==null){
    cjco = new CaptureScreen();
    }else if(cjco.isVisible()){

    }else{
    cjco.setVisible(true);
    }
    }else if(TeacherFuct.equals("发送文件")){
    new ManageC_port_SendFriendFileFuct(Recv.MyFriIP);
    }else if(TeacherFuct.equals("接收文件")){
    new ManageTheC_port_Recv_FriendFile(GetMyLocalIP.catchLocalIP());
    }else if(TeacherFuct.equals("投诉好友")){
    new CustomerCompliainUI();
    }else if(TeacherFuct.equals("音频通信")){
    //TODO:添加本按钮的“音频通信的类的执行方法”.
    }else if(TeacherFuct.equals("视频通信")){
    //TODO:添加本按钮的“视频通信的类的执行方法”.
    }else if(TeacherFuct.equals("查看好友资料")){
    BareBonesBrowserLaunch.openURL(MyURLLocal);
    }else if(TeacherFuct.equals("打开好友列表")){
    new ChatClientFriendlist(ManageC_port_MDSpara0Channel_Thread.Locallog);
    }else if(TeacherFuct.equals("打开聊天记录")){
    new SchemeMemory(ChatPartnerSerialMark,MyChatObjrolE);
    }else if(TeacherFuct.equals("支付产品授权")){
    new PayForMyHyperRights(MyChatObjrolE);
    }else{
    new SaveMyChatlogtoFile(MyChatObjrolE,ChatPartnerSerialMark,Recv.MyServerPlace);
    }
    } @Override
    public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub  

    }}
        谢谢大神!!
        谢谢大家!!
      

  5.   

    方名师姐,现在我的开发环境,每次运行debug模式后,都冒出这个界面:
        
        刚才我进行了一下“注释”:
                }else if(TeacherFuct.equals("支付产品授权")){
                new PayForMyHyperRights(MyChatObjrolE);
            }else{
        现在我得到的结果成为:
        
        这个只出现一个窗口的代码运行效果现场了。
        但是我进行了整个上层类的代码的“Find”操作,没有找到第二句能够含有我的开发环境中唯一能够含有关键字“购买本平台“超级用户权限”窗口”,的类型“PayForMyHyperRights”,这里的“PayForMyHyperRights”关键字,我进行了面向我的开发环境的搜索:“Search”操作,只有上文中的“Complete_ChatForeUITeacherClient”类型中第259行的一句:
        new PayForMyHyperRights(MyChatObjrolE);
        的代码书写.
        希望得到方名师姐的点拨:
        刚刚我又进行了一遍“debug”,我是在225行与258行打的断点,但是。。
        我点击了:
        
        这个选项后,得到了:
        
        (图1)
        
        (图2)
        这两个哥们儿。。又一块出来了
        并且,方名师姐,我经过了仔细的检查,发现:
        我的注释语句仍然在,注释并没有取消,并且,我的编译环境,我进行了“新的Build All”操作,还是不能够将两个哥们儿,分开。。
        希望得到方名师姐,withiter版主,和linhu007兄弟以及CSDN路过的大神的指导:
        我的错误,是什么原因?
        怎么修改?