gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 23:58:12 24 4
gpt4 key购买 nike

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

在此感谢任何帮助。

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

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);
}
}
}

最佳答案

覆盖控制自定义字段宽度和高度的方法。

这是教程:"How to create a custom field"

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

关于blackberry - 如何在黑莓中使用自定义标签字段以多行显示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12743726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com