Почему невозможно написать текст внутри TextArea?
Есть TextField
, ListBox
и TextArea
внутри моего Form
, TextArea
последний пункт. При перемещении по элементам с помощью навигационных кнопок телефона я не вижу cursor
blinking
в TextArea
и я не могу написать текст! Хотя я знаю что cursor
находится в пределах TextArea
потому что нет blinking
focus
в двух предыдущих пунктах. Вот код:
public class CompteRendu extends Form implements FocusListener, DataChangedListener {
private Container x1 = new Container(new BoxLayout(BoxLayout.X_AXIS));
private Container x2 = new Container(new BoxLayout(BoxLayout.X_AXIS));
private Container x3 = new Container(new BoxLayout(BoxLayout.X_AXIS));
private Container x4 = new Container(new BoxLayout(BoxLayout.X_AXIS));
private Container x5 = new Container(new BoxLayout(BoxLayout.X_AXIS));
private Container CntnrYforAll = new Container(new BoxLayout(BoxLayout.Y_AXIS));
private Label dateL, lieuL, dossier, client, resultat;
private Label dateData, dossierData, clientData;
private TextField lieu;
private int nbVKBshow;
private ListBox resultatList;
private TextArea compteRendu;
public CompteRendu(boolean general)
{
super();
if (general)
setTitle("Compte rendu général");
dateL = new FicheLibelle("Date");
lieuL = new FicheLibelle("Lieu");
dossier = new FicheLibelle("Dossier");
client = new FicheLibelle("Client");
resultat = new FicheLibelle("Résultat");
dateL.setPreferredW(Comparator.max(new int[]{dateL.getPreferredW(),lieuL.getPreferredW(),dossier.getPreferredW(),client.getPreferredW(),resultat.getPreferredW()}));
lieuL.setPreferredW(Comparator.max(new int[]{dateL.getPreferredW(),lieuL.getPreferredW(),dossier.getPreferredW(),client.getPreferredW(),resultat.getPreferredW()}));
dossier.setPreferredW(Comparator.max(new int[]{dateL.getPreferredW(),lieuL.getPreferredW(),dossier.getPreferredW(),client.getPreferredW(),resultat.getPreferredW()}));
client.setPreferredW(Comparator.max(new int[]{dateL.getPreferredW(),lieuL.getPreferredW(),dossier.getPreferredW(),client.getPreferredW(),resultat.getPreferredW()}));
resultat.setPreferredW(Comparator.max(new int[]{dateL.getPreferredW(),lieuL.getPreferredW(),dossier.getPreferredW(),client.getPreferredW(),resultat.getPreferredW()}));
dateData = new Label(Formatage.dateToStringHH24(new Date()));
dossierData = new Label();
clientData = new Label();
lieu = new ChpModif(100, this, this, null);
resultatList = new ListBox(new String[]{"Oui","Non"},lieu.getPreferredH(),getPreferredW(),getPreferredH(),lieu.getSelectedStyle().getMargin(Component.TOP),lieu.getSelectedStyle().getMargin(Component.BOTTOM));
compteRendu = new TextArea(5, 100);
compteRendu.setGrowByContent(true);
compteRendu.setFocusable(true);
compteRendu.setEditable(true);
x1.addComponent(dateL);
x1.addComponent(dateData);
x2.addComponent(lieuL);
x2.addComponent(lieu);
if (!general)
{
}
x5.addComponent(resultat);
x5.addComponent(resultatList);
CntnrYforAll.addComponent(x1);
CntnrYforAll.addComponent(x2);
if (!general)
{
}
CntnrYforAll.addComponent(x5);
CntnrYforAll.addComponent(compteRendu);
setLayout(new FlowLayout(Component.CENTER));
addComponent(CntnrYforAll);
}
Итак, как сделать курсор видимым и разрешить написание текста при переходе в TextArea?
1 ответ
Решение
Вы не можете сделать это. Вы должны использовать LWUIT TextField. Посмотри на это: