我试图在带有 lwit 1.5 的标签上设置代码,遇到了这个问题:如果我设置 label.setRTL(true) 然后调用
label.startTicker(UIManager.getInstance().getLookAndFeel().getTickerSpeed(), true);
ticker 仅显示标签文本的前 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);