2012-03-02 8 views
0

EditFieldと指定した幅と高さが指定されていますが、EditFieldにテキストを入力するとテキストが表示されませんそして、それをクリックすると、私はNullPointerExceptionになります。私はテキストが入力されているかどうかを理解することができません。また、自分のフィールドにカーソルが表示されません。間違いがある場合は、私に提案してください。editfieldの幅と高さを指定すると、ブラックベリーのテキストを見るのが難しくなります

私のコードは次のとおりです。

 private EditField edto; 
     private int tosetWidth =400 ,tosetHeight = 50; 
     public WelcomeScreen() 
     { 
      /* Border For EditFields */ 
      Border bdr = BorderFactory.createRoundedBorder(new XYEdges(4, 4, 4, 4),Border.STYLE_SOLID); 

      edto = new EditField(){ 

      protected void layout(int width, int height) 
      {   
       setExtent(tosetWidth, tosetHeight); 

      } 

     }; 

     edto.setBorder(bdr); 

答えて

2

テキストだけで削除し、垂直方向のスクロールでフィールドを編集したい場合は、あなたのコードが

を働いて試してみて、このため

protected void layout(int width, int height) 
     {   
      setExtent(tosetWidth, tosetHeight); 

     } 

で表示されません固定サイズは次のように試してください

/** 
* A class extending the MainScreen class, which provides default standard 
* behavior for BlackBerry GUI applications. 
*/ 
public final class MyScreen extends MainScreen 
{ 
    /** 
    * Creates a new MyScreen object 
    */ 
    public MyScreen() 
    {   
     // Set the displayed title of the screen  
     setTitle("My Edit box Example"); 

     VerticalFieldManager vr=new VerticalFieldManager(VERTICAL_SCROLL|VERTICAL_SCROLLBAR) 
     { 
      protected void sublayout(int maxWidth, int maxHeight) { 
       super.sublayout(200,100); 
       setExtent(200, 100); 
      } 
     }; 

     Border bdr = BorderFactory.createRoundedBorder(new XYEdges(4, 4, 4, 4),Border.STYLE_SOLID); 
     EditField edto = new EditField(){ 
      public void paint(Graphics g) 
      { 
       getManager().invalidate(); 
       super.paint(g); 
      } 
    }; 

    vr.setBorder(bdr); 
    vr.add(edto); 
    add(vr); 
    } 
} 

あなたが

enter image description here

+0

を、次のような出力を得ることができますが、U HelpMeToHelpYouありがとうございます。 – user1213202

関連する問題