編集フィールドの幅と高さを指定すると、Blackberry でテキストが見にくくなります
-
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);
}
}
次のように出力を取得できます
所属していません StackOverflow