解决方案 »

  1.   

    上文中的“MyJButton000”这个类型的源代码如下:
        package cjco;import java.util.LinkedList;import javax.swing.JButton;public class FriendArrayfresh extends JButton{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    LinkedList<MyJButton000> Localbtnbox = null;
    ChineseTeacher Localdemo0; public FriendArrayfresh(LinkedList<MyJButton000> btnbox,ChineseTeacher demo) {
    // TODO Auto-generated constructor stub
    super("获取好友最新在线状态");
    Localbtnbox = btnbox;
    Localdemo0 = demo;
    }



    public void updateMyUI0(){
    for(int i =0;i<43;i++){
    Localbtnbox.get(i).updateMyUI(Recv.MyJButton0content[i], Recv.MyJButton0Teacher_ficia[i], Recv.Teacheronline[i], Recv.MyJButton0complicatingnum[i], String.valueOf(Recv.MyTeacherworkroomspace[i]), i);
    }
    }

    public void updateMyUI1(){
    for(int i =0;i<4;i++){
    Localbtnbox.get(i).updateMyUI(Recv.MyJButton0content[i], Recv.MyJButton0Teacher_ficia[i], Recv.Teacheronline[i], Recv.MyJButton0complicatingnum[i], String.valueOf(Recv.MyTeacherworkroomspace[i]), i);
    }
    for(int i =84;i<107;i++){
    Localbtnbox.get(i).updateMyUI(Recv.MyJButton0content[i], Recv.MyJButton0Teacher_ficia[i], Recv.Teacheronline[i], Recv.MyJButton0complicatingnum[i], String.valueOf(Recv.MyTeacherworkroomspace[i]), i);
    }
    }

    public void updateMyUI2(){
    for(int i =0;i<4;i++){
    Localbtnbox.get(i).updateMyUI(Recv.MyJButton0content[i], Recv.MyJButton0Teacher_ficia[i], Recv.Teacheronline[i], Recv.MyJButton0complicatingnum[i], String.valueOf(Recv.MyTeacherworkroomspace[i]), i);
    }
    for(int i =140;i<167;i++){
    Localbtnbox.get(i).updateMyUI(Recv.MyJButton0content[i], Recv.MyJButton0Teacher_ficia[i], Recv.Teacheronline[i], Recv.MyJButton0complicatingnum[i], String.valueOf(Recv.MyTeacherworkroomspace[i]), i);
    }
    }
    public void updateMyUI3(){
    for(int i =108;i<139;i++){
    Localbtnbox.get(i).updateMyUI(Recv.MyJButton0content[i], Recv.MyJButton0Teacher_ficia[i], Recv.Teacheronline[i], Recv.MyJButton0complicatingnum[i], String.valueOf(Recv.MyTeacherworkroomspace[i]), i);
    }
    }

    public void updateMyUI4(){
    for(int i =42;i<84;i++){
    Localbtnbox.get(i).updateMyUI(Recv.MyJButton0content[i], Recv.MyJButton0Teacher_ficia[i], Recv.Teacheronline[i], Recv.MyJButton0complicatingnum[i], String.valueOf(Recv.MyTeacherworkroomspace[i]), i);
    }
    }

    public void updateMyUI5(){
    for(int i =168;i<200;i++){
    Localbtnbox.get(i).updateMyUI(Recv.MyJButton0content[i], Recv.MyJButton0Teacher_ficia[i], Recv.Teacheronline[i], Recv.MyJButton0complicatingnum[i], String.valueOf(Recv.MyTeacherworkroomspace[i]), i);
    }
    }}    现在我遇到的问题是:
        在我的一个“抽离出来的项目中”进行上述5个可以直接运行的类型的测试,能够达到:
        
        得到:
        
        但是,现在,在我的工程中进行测试,上述5个类型源代码一模一样,本人亲测,出现了在我的工程中有其他的“围观类型”的场景下,让我的上述代码在点击了图一中的按钮后,我的在我的“具有围观类型的场景的源代码的运行效果”为:
        
        现在我很希望能够:
        尽快开工,但是,在我的项目中进行的测试,让我:
        不敢下手:
        干完活儿了,可能都“只有疲劳没有功劳和苦劳”了.
        希望能够得到高手的指导:
        我的上述的代码现场,可能是什么原因导致的?
        如何排查?
        错在哪里?
        谢谢高手!!
      

  2.   

    方名师姐,您不知道~~,我是在请教“思想”.
        Not only technology,but also Mind.
        谢谢方名师姐一路的提点!!
        此恩此德,小妖成佛后,必当回报:
        ~~~~~~一百万倍!!
      

  3.   

    方名师姐,经过您的点拨,我在本贴中将我的原项目中的源代码的问题核心,进行了抽取,贴到了帖子底部,希望师姐能够先看后面的核心部分:
        请问师姐:
        那为什么会有:
        我的原项目中的源代码:
        package c_port_packageBJDoctor;import java.awt.Font;
    import java.awt.GridLayout;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import java.io.Serializable;
    import java.util.LinkedList;import javax.swing.JFrame;
    import javax.swing.JPanel;public class ChineseTeacher extends JFrame implements Serializable,WindowListener{
    /**
     * 
     */

    private static final long serialVersionUID = 1L;
    /**
     * @param args
     */
    JPanel jp = new JPanel();
    static LinkedList<MyJButton000> btnbox = new LinkedList<MyJButton000>();
    Font fnt = new Font("华文中宋",0,20);
    FriendArrayfresh jb882 = null;
    public ChineseTeacher(){
    // this.setVisible(false);
    this.setTitle("请选择您的语文家庭教师");
    for(int i = 0;i<43;i++){
    MyJButton000 btns = new MyJButton000(Recv.MyJButton0content[i],Recv.MyJButton0URL[i],Recv.MyJButton0Doctor_ficia[i],Recv.MyJButton0SystempriKey[i],Recv.Doctoronline[i],Recv.MyJButton0complicatingnum[i]);
    btnbox.add(btns);
    }
    jp.setLayout(new GridLayout(14,0));
    jb882 =  new FriendArrayfresh(btnbox,this);
    for(int i =0;i<43;i++){
    jp.add(btnbox.get(i));
    }
    jp.add(jb882);
    this.add(jp);
    for(int i =0;i<43;i++){
    btnbox.get(i).setFont(fnt);
    }
    jb882.setFont(fnt);
    setBounds(200,110,1008,568);
    this.setVisible(true);
    }

    public void UpdateMyUI(){
    for(int i =0;i<43;i++){
    btnbox.get(i).updateUI();
    }
    this.invalidate();
        this.repaint();
        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
    this.dispose();
    } @Override
    public void windowClosing(WindowEvent e) {
    // TODO Auto-generated method stub
    this.dispose();
    } @Override
    public void windowDeactivated(WindowEvent e) {
    // TODO Auto-generated method stub

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

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

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

    }

    }    方名师姐,上文中的代码,是我在我的原工程项目的源代码中,进行的直接提取:
        上面的代码的“循环定义对象”的代码核心部分如下:
        for(int i = 0;i<43;i++){
    MyJButton000 btns = new MyJButton000(Recv.MyJButton0content[i],Recv.MyJButton0URL[i],Recv.MyJButton0Doctor_ficia[i],Recv.MyJButton0SystempriKey[i],Recv.Doctoronline[i],Recv.MyJButton0complicatingnum[i]);
    btnbox.add(btns);
    }
        是我贴出的原工程中的本帖代码块一中的第29行到第32行的内容.
        方名师姐,请问:
        我是在循环里定义的对象啊?
        并且我进行的代码书写,是在循环中进行了:
        栈内存的标记符的“每次重新指派”的书写方式的呀?
        为什么还会有“错儿”冒出来呢?
        希望方名师姐,CSDN的无冕王后,能够为奋斗青年我,指导调试本错误的思想!!
        
      

  4.   

    自己debug看数据是如何来的,以及是如何展示的,很简单就能解决问题了
      

  5.   

    兄弟你要学会一步一步debug。你这样很难真正学会自己解决问题