編集フィールドの幅と高さを指定すると、Blackberry でテキストが見にくくなります

StackOverflow https://stackoverflow.com/questions/9529131

  •  16-11-2019
  •  | 
  •  

質問

利用した EditField 幅と高さを指定するとうまく機能しますが、テキストを入力するときに EditField テキストが表示されず、クリックすると次のメッセージが表示されることがあります。 NullPointerException. 。文字が入力されているかどうかがわかりません。また、フィールドにカーソルが表示されません。間違いがある場合は、提案をお願いします。

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

       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);
役に立ちましたか?

解決

このせいでテキストが表示されない

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top