2011-07-22 4 views
2

私はだから私は、そのプロパティを設定するには、以下の機能を使用し.... Labelsを表示するためのTextAreaを使用しています....lwuit(J2ME)に複数行textAreasを表示するにはどうすればよいですか?

private void setTextAreaProperty(TextArea textArea) { 
    String textStr = textArea.getText(); 
    if (textArea.getStyle().getFont().stringWidth(textStr) > (width - 25)) { 
     textArea.setSingleLineTextArea(false); 
    } else { 
     textArea.setSingleLineTextArea(true); 
     textArea.setPreferredW(width); 
    } 
    textArea.setBorderPainted(false); 
    textArea.setFocusable(false); 
    textArea.setStyle(getPreviewStyle()); 
} 
....文で

quest1Label = new TextArea(); 

TextAreaを作成しました

width = Display.getInstance()。getDisplayWidth(); 私の問題は、最大2行のラベルが正しく動作しますが、テキストがさらに大きければ3行目には行きません。 これについての助けに感謝します。

事前のおかげで、...

+0

ここに「幅」サイズとは何ですか? – bharath

+0

@Bharath:plz編集されたコードを参照してください.... – aProgrammer

答えて

7

このようなのコンストラクタを使用すると、new TextArea(1, 20)のように、レイアウトをより効果的に「成長」させることができます。

理由はほとんど歴史的ですが、LWUITはTexAareaの3列のデフォルト値を持っており、TexAareaはうまく収縮できますが、成長すると吸うことができます。拡大/縮小の複雑さは、レイアウトが深くネストされ、スクロール可能であり、したがって利用可能なスペース対望ましいスペースの計算が再帰的になり、いくつかの難解な点を解決できない(無限再帰)という事実によって導き出される。

+0

ありがとう、シャイ.... – aProgrammer

+0

私は混合2の答えを使用して、結果は良いです。 – xtr

2

あなたはsetGrowByContentを試してみましたか?たぶん、デフォルトの行数は2で、それ以上は伸びません。

よろしくお願いいたします。

関連する問題