如何在视图层次结构中使用黑莓浏览器?

时间:2012-01-16 10:33:13

标签: blackberry java-me uiapplication

我需要在应用程序的视图中显示一些链接。但我找不到任何关于它的东西。有可能??

我想将browsercontent(字段)放在os的灰色区域<5.00?

must be this image

1 个答案:

答案 0 :(得分:0)

如果要显示超链接的字段,请使用以下代码。

 package com.myApp.controls;

 import net.rim.device.api.ui.Color;
 import net.rim.device.api.ui.Field;
 import net.rim.device.api.ui.Font;
 import net.rim.device.api.ui.Graphics; 
 public class HrefField extends Field {

private String content;
private Font fieldFont;
private int fieldWidth;
private int fieldHeight;
private boolean active = false;
private int backgroundColour = Color.WHITE;
private int textColour = Color.BLACK;
private int[] drawFocusColors;

public HrefField(String content) {
    super(Field.FOCUSABLE);
    this.content = content;
    fieldFont = Font.getDefaultFont();
    fieldWidth = fieldFont.getAdvance(content) + 2;
    fieldHeight = fieldFont.getHeight() + 3;
    drawFocusColors = new int[] { Color.ORANGE,
            Color.ORANGE,Color.RED,
            Color.RED};
}

public void setColours(int backgroundColour, int textColour) {
    this.backgroundColour = backgroundColour;
    this.textColour = textColour;
    invalidate();
}

public void setBackgroundColour(int backgroundColour) {
    this.backgroundColour = backgroundColour;
    invalidate();
}

public void setTextColour(int textColour) {
    this.textColour = textColour;
    invalidate();
}

public void setMaskColour() {
    invalidate();
}

public void setFont(Font fieldFont) {
    this.fieldFont = fieldFont;
}

public int getPreferredWidth() {
    return fieldWidth;
}

public int getPreferredHeight() {
    return fieldHeight;
}

protected void layout(int arg0, int arg1) {
    setExtent(getPreferredWidth(), getPreferredHeight());
}

protected void paint(Graphics graphics) {
    int[] X_PTS = new int[] { 0, fieldWidth, fieldWidth, 0 };
    int[] Y_PTS = { 0, 0, fieldHeight, fieldHeight };
    if (active) {
        graphics.drawShadedFilledPath(X_PTS, Y_PTS, null, drawFocusColors,
                null);
    } else {
        graphics.setColor(backgroundColour);
        graphics.fillRect(0, 0, fieldWidth, fieldHeight);
    }

    graphics.setColor(textColour);
    graphics.setFont(fieldFont);
    graphics.drawText(content, 1, 1);
    graphics.drawLine(1, fieldHeight - 2, fieldWidth - 2, fieldHeight - 2);
}

protected boolean navigationClick(int status, int time) {
    fieldChangeNotify(1);
    return true;
}

protected void onFocus(int direction) {
    active = true;
    invalidate();
}

protected void onUnfocus() {
    active = false;
    invalidate();
}

}