如何使用黑莓中的自定义标签字段在多行中显示文本



如何在黑莓手机中使用自定义标签字段以多行显示文本?当我使用以下代码时,我可以以所需的字体大小显示标签,但是问题是当范围宽度有限时,文本会被切断并且无法完全显示,标签部分的其余部分也不会显示在下一行。

感谢此处的任何帮助。

以下是我自定义标签字段的代码。

public class GrayBgLabelField extends LabelField {  
    private int width = Display.getWidth();
    private int height = 40;
    private String label;   
    private Font font;
    public GrayBgLabelField(){
        super();
    }
    public GrayBgLabelField(String label, int fieldWidth){
        super(label, 0 );
        this.label = label;
        width = fieldWidth;     
    }
    public GrayBgLabelField(String label, int fieldWidth , long style){
        super( label, style );
        this.label = label;
        width = fieldWidth;     
    }
    public GrayBgLabelField(String label, int fieldWidth , int fieldHeight){
        this(label,fieldWidth);
        this.label = label;
        height = fieldHeight;
    }
    public GrayBgLabelField(String label, int fieldWidth , int fieldHeight, long style){
        super( label, style );
        this.label = label;
        width = fieldWidth;
        height = fieldHeight;
    }
    protected void layout( int maxWidth, int maxHeight)
    {         
        super.layout( width, height);  
        setExtent( width, height);
    }
    protected void paint(Graphics g) {
        if(font !=null){
            g.setFont(font);
        }
        if (label.length() != 0) {          
            g.drawText(label, width/30, height/4);
        }
        g.setColor(Color.BLACK);
    }
    public void setFont(int f){
        font = this.getFont().derive(f);        
    }
    public void setFont(Font font){
        this.font = font;
    }
    protected void paintBackground(Graphics g) {
        int oldColor = g.getColor();
        try {
            g.setColor(0xF5F6F8);  // Gray-DDDDDD color code.
            g.fillRect(0, 0, getWidth(), getHeight());          
        } finally {
            g.setColor(oldColor);
        }
    }
}

重写控制自定义字段宽度和高度的方法。

这是教程:"如何创建自定义字段"

当您更改标签字段文本时,请通过invalidate()方法使其失效,以在屏幕上重绘字段内容。

相关内容

  • 没有找到相关文章

最新更新