如何在Blackberry中设置从资源包中获取的字符串

时间:2011-06-07 06:38:58

标签: blackberry

我在blackberry中的应用程序中提供本地化支持。现在问题是我想在我的应用程序中使用系统字体但是hieght应该是常量。现在我想使用Status.show方法来显示一些字符串screen.String来自资源包。

如此建议如何设置字体。

提前完成

此致

Deepak Goel

2 个答案:

答案 0 :(得分:0)

你可以设置一个字段字体,其原始样式和给定高度(15)就像那样:

setFont(getFont().derive(getFont().getStyle(),15));

答案 1 :(得分:0)

public class DialogBox extends PopupScreen implements FieldChangeListener {
    private ButtonField okButton = new ButtonField("OK", ButtonField.CONSUME_CLICK);
    private static DialogBox dialog = null;

    private DialogBox( String text) {
        super(new VerticalFieldManager(VerticalFieldManager.VERTICAL_SCROLL | VerticalFieldManager.VERTICAL_SCROLLBAR));
        add(new LabelField(text, Field.FIELD_HCENTER));
        okButton.setChangeListener(this);
        add(okButton);
    }

    protected void paint(Graphics graphics) {
        graphics.setColor(Color.WHITE);
        graphics.fillRect(0, 0, getWidth(), getHeight());
        graphics.setColor(Color.BLACK);
        super.paint(graphics);
    }

    public static void show(String text) {
        dialog = new BMDialogBox(text);
        Thread threadToRun = new Thread() {
            public void run() {
                UiApplication.getUiApplication().invokeLater(new Runnable() {
                    public void run() {
                        UiApplication.getUiApplication().pushScreen(dialog);
                    }
                });
                try {
                    sleep(2000);
                } catch (Throwable t) {
                    t.printStackTrace();
                    throw new RuntimeException("Exception detected while waiting: " +     t.toString());
                }
                UiApplication.getUiApplication().invokeLater(new Runnable() {
                    public void run() {
                        try {
                            UiApplication.getUiApplication().popScreen(dialog);
                } catch (Exception e) { }
                });
        }
    };
    threadToRun.start();
}
public void fieldChanged(Field field, int context) {
    UiApplication.getUiApplication().invokeLater(new Runnable() {
        public void run() {
            try {
                UiApplication.getUiApplication().popScreen(dialog);
                } catch (Exception e) { }
        }
    });
}
}