悄悄成长
for navigation

2008年3月6日

在ecliipse-->preference-->Java--->Debug 设置

Suspend execution:
只保留 suspend for breakpoint.

Hot code replace
保留: show error when hot code replace failed.
          show error when obsolete code remain after replace.
          replace classfiles containing compilation errors.

Communication:
change Debugger timer  to 30000
Launch timer to 200000

posted @ 2009-03-10 13:23 Duan Bo Hao 阅读(432) | 评论 (0)编辑 收藏
 
The project was not built since its build path is incomplete. The project was not built since its build path is incomplete. Fix the build path then try building this project
The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files

出現以上訊息的原因是因為你裝了多個版本的jre或jdk的關係。本來Eclipse在建立專案時,會自動參照你的jre路徑,但多個版本就沒辦法了。
你只能手動建立…
1. 進入window\preferences\java\Installed JREs
1)按Add
2)輸入JRE Name, 例JDK1.5.0.03
3)JRE home directory, 選擇安裝的路徑
4)按OK
2. 進入Project\properties\Java Bulid Path
1)Add library
2)選JRE System Library後按Next
3)選workplace default JRE後按finish...

posted @ 2008-07-24 10:29 Duan Bo Hao 阅读(3012) | 评论 (1)编辑 收藏
 

I composed a code as below:

package duanbo;

public class HelloWorld
{
        
public static void main(String arg[])
        {
            System.out.println(
"Hello World");
        }

}

The HelloWorld.java was put on root of E: , I excuse the compile/run process :
E:\>javac HelloWorld.java

E:\
>java HelloWorld

The first step was ok. And throw out "Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong name: duanbo/HelloWorld)" at step 2.

I think may be I should move the HelloWorld.class to E:\duanbo. So did it.

Redo the up steps. The erroe was same as before.

After some search, I got the right command.

E:\>javac HelloWorld.java

E:\
>java duanbo.HelloWorld


posted @ 2008-05-05 14:05 Duan Bo Hao 阅读(185) | 评论 (0)编辑 收藏
 

You could add this parameter to find how java class loader work .

javac -verbose classname.java
java -verbose classname


posted @ 2008-05-05 13:31 Duan Bo Hao 阅读(213) | 评论 (0)编辑 收藏
 

Under no circumstance, I think, you could speak that :" the java HelloWorld sample is easy."
We could study a lot in this lesson.

Let me demo the right code firstly.

public class HelloWorld
{
        
public static void main(String arg[])
        {
            System.out.println(
"Hello World");
        }

}

You should advance some questions about it, or you ...

1. can the "public" keyword be skip?
2. can we change the "String arg[]" parameter to "int arg[]"?
3. does the "void" phrase could be put befor "static", as "public void static mian(String arg[])" ?
4. could the "arg[]" be modified to other name ?

Please find the answer to them with search engine.
posted @ 2008-05-05 13:29 Duan Bo Hao 阅读(213) | 评论 (0)编辑 收藏
 

Study tha adapter pattern this morning. Found some tutorial are not as good as I imaged.

I parse my code about the adapter to demo it.

Firstly, the object adapter:

package duanbo.patterns.adapter;

public class ObjectAdapter
{
    
public static void main(String[] args){   
        PutBall pb 
= new PutBall();   
           
        System.out.println(
"BasketBall");   
        BasketballBag bb 
= new BasketballBag();   
        pb.putBalls(bb);   
           
        System.out.println(
"FootBall");
        FootballBag fb 
= new FootballBag();   
        BallBag bbag 
= new BallBag(fb);   
        pb.putBalls(bbag);   
    }

}


class BallBag extends BasketballBag
{
    FootballBag fb;

    
public BallBag(FootballBag fb)
    
{
        
this.fb = fb;
    }


    
public void putball()
    
{
        fb.putFootball();
    }

}


class BasketballBag
{
    
public void putball()
    
{
        System.out.println(
"Put in BasketBall.");
    }

}


class PutBall
{
    
public void putBalls(BasketballBag bb)
    
{
        bb.putball();
    }

}


class FootballBag
{
    
public void putFootball()
    
{
        System.out.println(
"Put in FootBall.");
    }

}

And the second demo: Class Adapter:

package duanbo.patterns.adapter;

public class ClassAdapter extends RoundPeg implements ISquarePeg
{
    
private RoundPeg roundPeg;

    
public ClassAdapter(RoundPeg peg)
    
{
        
this.roundPeg = peg;
    }


    
public void insert(String str)
    
{
        roundPeg.insertIntoHole(str);
    }


}


interface IRoundPeg
{
    
public void insertIntoHole(String msg);
}


interface ISquarePeg
{
    
public void insert(String str);
}


class SquarePeg implements ISquarePeg
{
    
public void insert(String str)
    
{
        System.out.println(
"SquarePeg insert():" + str);
    }

}


class RoundPeg implements IRoundPeg
{
    
public void insertIntoHole(String msg)
    
{
        System.out.println(
"RoundPeg insertIntoHole():" + msg);
    }

}
posted @ 2008-05-05 13:19 Duan Bo Hao 阅读(264) | 评论 (0)编辑 收藏
 
        RelativeLayout.LayoutParams relativeParams =
         new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
        relativeParams.addRule(RelativeLayout.CENTER_HORIZONTAL)
            LinearLayout.LayoutParams lineParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,     LinearLayout.LayoutParams.WRAP_CONTENT);

        LinearLayout line = new LinearLayout(this);
        LinearLayout line1 = new LinearLayout(this);

        line.addView(myTt0, lineParams);
        line.addView(myTx0, lineParams);
        line.addView(myTx1, lineParams);
        
        line1.addView(myTx, lineParams);
        
        relativeLayout.addView(line, relativeParams);    //Attention:if the two params are same, the larger layout will be cliped.
        relativeLayout1.addView(line1, relativeParams);
 ////////////////////////////////////////////////////////////
        So the relativeParams should use different ones attach to more than one layouts as below:

        relativeLayout.addView(line, relativeParams);
        relativeLayout1.addView(line1, relativeParams_c);
posted @ 2008-03-06 19:19 Duan Bo Hao 阅读(339) | 评论 (0)编辑 收藏
 


    Use SetBackGrounp() target a View component, it will enlange width to the drawable be set.

    So it will influence the Center function.

    Such us:
 
    TextView tx = new TextView(this);
    tx.setText("test"); //the width will be same as the text length.
    tx.setBackGrounp(bitmap); //the width will be enlanged as bitmap's width.

posted @ 2008-03-06 19:14 Duan Bo Hao 阅读(225) | 评论 (0)编辑 收藏