解决方案 »

  1.   

    本帖最后由 fangmingshijie 于 2014-04-04 09:12:06 编辑
      

  2.   

            方老师,学生。。
            刚才看了一下学生的代码,是添加过了监听器到comb1这个JComboBox类的实例的..
            方老师,学生的本类型部分源代码如下:
            package c_port_packageBJTeacher;import java.awt.Dialog;
    //创建ChatClient类作为聊天窗口;
    public class Complete_ChatForeUITeacherClient extends AFrame implements WindowListener,KeyListener,ItemListener, ActionListener
    {
    CaptureScreen cjco = null;
    int lennum = 0;
    boolean MythisOrderNumvalue = false;//为“true值”,是“已经款项付讫”.为“false值”,是“尚未付款”的状态.
    TcpSend cjco0 = null;
    int MyVisiblestate = 1;
    String SendInfo = "";
    public String MyFriendIP = "";
    String MyURLLocal = "";
    String MyChatingFriUID = "好友坐席";
    JLabel jL0 = new JLabel("未付款");
    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();
        String MyFriRoleCh = "";
        public JTextArea writeMyChatwordTextArea = new JTextArea();
    String TeacherFuct = null;
    public JTextArea showMyChatwordTextArea = new JTextArea();
    String[] s = {"系统扩展功能","测试功能7","测试功能6","测试功能5","测试功能4","测试功能3","测试功能2","测试功能1"};
    JComboBox<String> combo1 = null;
    OutputStream outputstream = null;
    int Localmyvaluenum = 0;
    byte LocalMyMemGrade = 0; //CaptureScreen capScreen = new CaptureScreen(); 

    public Complete_ChatForeUITeacherClient(){
    this.setTitle("Test Frame");
    }

    public Complete_ChatForeUITeacherClient(String URL,Integer MyNum,String User_facia,Integer ChatObjectNum,String ChatObjrolE,String MyFriIP,byte MyMemGrade){
    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 = "Mem";
    ChatPartnerSerialMark = ChatObjectNum;
    //////System.out.println("CJ!!加油!!最牛逼伟望特必!!"+ChatObjectNum);
    MyChatObjrolE = ChatObjrolE;
    LocalMyMemGrade = MyMemGrade;
    if(MyChatObjrolE.equals("Mem")){
    MyFriRoleCh = "教师";
    }else{
    MyFriRoleCh = "学生";
    }
    MyFriendIP = MyFriIP;
    iPAddressLocal = GetMyLocalIP.catchLocalIP();
    combo1 = new JComboBox<String>(s);

    //TODO:
    writeMyChatwordTextArea.addKeyListener(this);
    combo1.addItemListener(this);
     showMyChatwordTextArea.setLineWrap(true);
      showMyChatwordTextArea.setEditable(false); 
    combo1.setBounds(new Rectangle(28,240,200,20));
        jspanel0=new JScrollPane(showMyChatwordTextArea);
        jspanel1 = new JScrollPane(writeMyChatwordTextArea);
        jspanel0.setBounds (new Rectangle (10,10,500,220));
        jspanel1.setBounds (new Rectangle (10,280,500,220));
        jL0.setBounds(new Rectangle(233,230,97,50));
        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);
    showMyChatwordTextArea.setLineWrap(true);//激活自动换行功能
    writeMyChatwordTextArea.setLineWrap(true);
    writeMyChatwordTextArea.setWrapStyleWord(true);//激活断行不断字功能
        showMyChatwordTextArea.setWrapStyleWord(true);//激活断行不断字功能
    jp1.setBounds(new Rectangle(10,10,590,550));
    jp1.add(combo1);
    jp1.add(jspanel0);
    jp1.add(jL0);
      jp1.add(jspanel1);
      setVisible(true);
      this.addWindowListener(this);
    }

    public void setMyJL0(boolean bool){
    if(bool==true){
    jL0.setText("<html>已付担保金</html>");
    }else{
    jL0.setText("<html>未付担保金</html>");
    }
    }

    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丗"+"Mem"+"丗"+RelayNo1.LocalMyWorkNum+"丗"+"Mem"+"丠"+RelayNo1.LocalMyWorkNum+"丠"+ChatPartnerSerialMark+"丠"+"Mem"+"丠"+"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 void Ihavepayformyrequire(boolean bool){
    MythisOrderNumvalue = bool;
    } @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     "+writeMyChatwordTextArea.getText().trim();
    SendInfo = Chatword.replaceAll("\r\n", "丱");
    showMyChatwordTextArea.append(Chatword+"\r\n");
    showMyChatwordTextArea.setCaretPosition(showMyChatwordTextArea.getText().length());
    writeMyChatwordTextArea.setCaretPosition(writeMyChatwordTextArea.getText().length());
    writeMyChatwordTextArea.setText("");
    sendInfo(SendInfo);
         } }

    public void sendInfo(String Info){
    Integer MySysserNum = Recv.MySystemserialnum;
        String str = "1丗"+MySysserNum+"丠"+"Mem"+"丠"+ChatPartnerSerialMark+"丠"+MyChatObjrolE+"丠"+iPAddressLocal+"丠"+Info+"丗"+"C"+"丗"+"Mem"+"丗"+MySysserNum;
        
    SocketClient so3 = new SocketClient(Recv.S_PORT_SERVER,8811);
    synchronized(so3){
    so3.writeStr(str,"Complete_ChatForeUITeacherClient");
    //////System.out.println("C端当前最最最最最最最最最最关心数据       "+str);
    }
    so3.getMyResourceBack();
    String str0 = "0丗1丗"+"Mem"+"丗"+MySysserNum+"丗"+MyChatingFriUID+"丠"+MySysserNum+"丠"+"Mem"+"丠"+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
            if (e.getStateChange() == ItemEvent.SELECTED){
            TeacherFuct =(String)e.getItem().toString();  
            System.out.println(e.getItem().toString());
            if(TeacherFuct.equals("测试功能7")){
                new Code_Customer_OrderNum(MyChatObjrolE);
            }if(e.getStateChange() == ItemEvent.SELECTED){
                String url = Recv.MyJButton0URL[ChatPartnerSerialMark];
    BareBonesBrowserLaunch.openURL(url);
     
                }
            }else if(TeacherFuct.equals("测试功能6")){
    new TcpSend(MyFriRoleCh,MyChatingFriUID,String.valueOf(ChatPartnerSerialMark),MyFriendIP,String.valueOf(Recv.MySystemserialnum));
            }else if(TeacherFuct.equals("测试功能5")){
    new CaptureScreen();
                }else if(TeacherFuct.equals("测试功能4")){
                new ChatClientFriendlist(ManageC_port_MDSpara0Channel_Thread.Locallog);
            }else if(TeacherFuct.equals("测试功能3")){
                new SchemeMemory(ChatPartnerSerialMark,MyChatObjrolE);
            }else if(TeacherFuct.equals("测试功能2")){
                int i = 0;
                if(jL0.getText().equals("已付款")){
                    i = 1;
                }
                new PayForMySysFunctionUserRights(MyChatingFriUID,MyChatObjrolE,ChatPartnerSerialMark,LocalMyMemGrade,this,i);
            }else if(TeacherFuct.equals("测试功能1")){
                int i = 0;
                if(jL0.getText().equals("已付款")){
                    i = 1;
                }
                new PayForMyHyperRights(MyChatObjrolE);
            }else{
                 
            }
            combo1.setSelectedIndex(0);
            }


    @Override
    public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub  

    }}
             方老师,您能不能抽出时间..
             再为学生看一下学生的这个类型,错在哪里......
             学生在线等待观世音大仕的教育..
             
      

  3.   

     combo1.addItemListener(this);你这样肯定不行,this在这里表示当前对象,你给但是你定义的对象却没有调用itemStateChanged方法。