[RESOLVIDO]LWUIT - Quebra de linha

Pessoal,
vocês sabem se tem como colocar uma quebra de linha em um Label ou outro componente de texto como um TextField ou TextArea do LWUIT?
Já tentei o velho e querido “\n”, mas não adianta.
Procurei na internet e o mais próximo do que eu queria foi essa dúvida http://discussion.forum.nokia.com/forum/showthread.php?t=175043 , mas que não foi respondida.

Obrigada!

A sinceramente, eu usei e deu certo… Usei em um label! Mas coloquei o label em uma Alert no caso!

dcbasso
Eu tentei em um Label e em um TextArea.
Você fez como?

Eu estou fazendo assim:

Label label = new Label("");
.
.
.
label.setText(“Texto A \n TextoB”);

Pra mim, não adiantou… :frowning:

Label labelNome = new Label(“Digite seu nome\n completo”);
Acho que foi isso…

Olha, era assim:

String body = "Versão: 0.1B\n" + "Desenvolvido por:\nDante Cesar Basso Filho" + "\n*** Cascavel-PR"; Dialog.show("Sobre ****", body, "OK", null); };

Pra mim não funcionou…
Eu confundi o caractere de escape, mas testei com o “\n” e não funcionou tb…
Eu to fazendo assim
Label line = new Label(“LABEL: \n meu texto bem muito grande que para \n testar quebra de linha no label.”);
e Ele so aparece assim pra mim
LABEL: meu texto bem muito grande…
e to adicionando isso com outros componentes em um Container.
Você lembra se precisou setar alguma propriedade?

No Dialog funciona mesmo…
Mas no Label, no TextFiel e no TextArea não.
:frowning:

Interessante… sera que na tem nenhum metodo que faca algo do tipo?
Um metodo que habilite a quebra de linha talvez… sei la… hehe chutando!

É isso que eu estou procurando! :wink:

Bom dia pessoal!
Só pra lembrar, em Swing não tem como quebrar linha em Label, o LWUIT por ser tão parecido talvez tenha o mesmo comportamento. Quando precisava fazia um TextArea (que por padrão já tem quebra, acho que é AWT), colocava como Editable(false), tirava borda e dava um setOpaque(false) para ficar transparente. Parece gambiarra mas era a única solução que tinha :frowning:
Será que dá para fazer isso em LWUIT?

Oi gqferreira,

O que você disse funcionou!!!

Só que agora o componente que eu fiz ficou com uma altura muito maior do que deveria…
O componente é formado por um check e uma TexArea (agora, depois da sua dica =P). O texto tem umas 4 linhas só, mas o componente toma mais que a tela toda.
Isso acontecia com Swing?

MUITO OBRIGADA MESMO!!!

Se você estiver adicionando em um form, tente dar um setScrollable(false);
Mostre um trecho do seu codigo para que possamos analizar… fica mais fácil…

Eu precisava de um checkbox, mas o texto deveria ter muitas linhas. Tentei com vários labels, mas o ideal seria um componente que permitisse quebra de linha.
Não achei lá muito elegante, mas foi o melhor que consegui (até agora).
Valeu gqferreira. Sua dica foi preciosa (eu nunca trabalhei com swing…)!

Eu consegui fazendo assim:

public class StopItemRenderer extends Container implements ListCellRenderer {

    CheckBox check = new CheckBox("");
    private static int count = 0;
    Label focus = new Label("");
    TextArea description = new TextArea("");

    public StopItemRenderer() {
        setLayout(new BorderLayout());
        getStyle().setBorder(Border.createRoundBorder(8, 8 ));
        configureTextArea();
        check.getStyle().setBgTransparency(0);
        addComponent(BorderLayout.WEST, check);
        addComponent(BorderLayout.CENTER, description);
        focus.setFocus(true);
    }

    private void configureTextArea() {
        description.setRows(5);
        description.setGrowByContent(false);
        description.setEditable(false);
        description.setBorderPainted(false);
        description.getStyle().setBgTransparency(0);
    }

    public Component getListCellRendererComponent(List list, Object o, int i, boolean bln) {
        StopItemInfos stop = (StopItemInfos) o;
        StringBuffer informations = new StringBuffer("Line 1:");
        informations.append(stop.getStop().getDescription());
        informations.append("\n");
        informations.append("Line 2:");
        informations.append(stop.getStop().getAddLine1());
        informations.append("\n");
        informations.append("Line 3:");
        informations.append(stop.getStop().getAddLine2());
        informations.append("\n");
        informations.append("Nº Repaints:" + (count++));
        description.setText(informations.toString());
        check.setSelected(stop.isSelected());
        return this;
    }

    public Component getListFocusComponent(List list) {
        return focus;
    }
}

Obrigada a todos! :smiley:

Se funcionou fico feliz :wink: