lwuit 1.5 を使用してラベルにティッカーを設定しようとしましたが、この問題に直面しました: label.setRTL(true) を設定してから呼び出す場合
label.startTicker(UIManager.getInstance().getLookAndFeel().getTickerSpeed(), true);
ティッカーは、ラベルのテキストの最初の 21 文字だけを表示し、残りは無視します。
私はもう試した:
label.setRTL(false);
label.startTicker(UIManager.getInstance().getLookAndFeel().getTickerSpeed(), true);
問題なく表示され、テキストは左から右に移動しますが、これを FocusListener に設定すると (ラベルがフォーカスを受け取るとティッカーが開始し、フォーカスを失った後に停止する必要があるため)、方向が変わるだけです (右から左に移動します)。
これが私がすることです:
Label test = new Label();
Container c1 = new Container(new FlowLayout());
test.setText("1234567890ABCDEFGHIJ1234567890");
test.setFocusable(true);
test.setRTL(false);
test.addFocusListener(new FocusListener (){
public void focusGained(Component cmpnt) {
((Label)cmpnt).setRTL(false);
((Label)cmpnt).startTicker(UIManager.getInstance().getLookAndFeel().getTickerSpeed(), false);
}
public void focusLost(Component cmpnt) {
((Label)cmpnt).stopTicker();
}
});
c1.addComponent(test);