1

操作に問題があるTextAreaLWUIT があります。次の2つの問題があります。

  1. を呼び出しsetIsScrollVisible(true)ても、スクロールバーがないようで、出力がコンテナの表示領域を下回ったときにスクロールできません。

  2. TextAreaプログラムで自動的に一番下までスクロールするようにするにはどうすればよいですか?

TextArea を初期化するための私のコードは次のようになります。

myTextArea = new TextArea(20, Display.getInstance().getDisplayWidth());
myTextArea.setEditable(false);
myTextArea.setEnabled(true);
myTextArea.setIsScrollVisible(true);
myTextArea.setGrowByContent(false);
System.out.println(myTextArea.isScrollableY());

isScrollableY()true を返します。何か案は?足りないものはありますか?スクロールを明示的に有効または無効にできる API には何も表示されていないようです。これについてご支援いただきありがとうございます。

4

2 に答える 2

3

テキスト領域の幅は、コードにあるようにピクセルではなく列です。

LWUIT スクロールバーは常に「必要に応じて」表示されるため、スクロールを表示に設定しても表示されません。つまり、スクロールバーは必要な場合にのみ表示されます。この値を false に設定すると、必要に関係なくスクロールバーが非表示になります。

ボックス レイアウトの Y コンテナー/フォーム内に配置するだけで、テキスト領域の幅全体を取得できます。レイアウト マネージャーは X 軸に沿ってテキスト領域を引き伸ばします。

を使用scrollRectToVisible()してテキスト領域を一番下までスクロールするか、テキスト領域を派生setScrollY(int)させて適切な値で使用することができます (これがテキスト領域をスクロールするためにどのように使用されるかについては、テキスト領域のソース コードを参照してください。

于 2011-10-09T08:07:17.013 に答える
0

簡単なを試してくださいtextArea.setFocusable(false)。これは私のために働いた。

于 2011-11-03T11:11:10.640 に答える