Платформа программирования J2ME для портативных устройств

        

Текстовые окна являются экранами и не нуждаются в форме, в которой можно существовать


import jav,ax.micro etiition.lcdui. Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.Form;

import javax.microedition.lcdui.TextBox;

import javax.microedition.lcdui.TextField;

import javax.microedition.midlet.MIDlet;

/**

Этот MID-лет демонстрирует использование отображаемого

элемента TextBox пользовательского интерфейса MIDP.

Усмотри javax.microedition.Icdui.TextBox

* /



public class TextBoxDemo extends MIDlet implements CommandListener

private Command quit = new Command("Exit", Command.EXIT, 1);

private static TextBoxDemo instance;

// Компонент пользовательского интерфейса TextBox. private TextBox textBox;

// Максимальное число знаков, которое TextBox может

// поддерживать. private int MAX_SIZE = 100;

// Первоначальный текст в TextBox. private String initialText =

"You can edit the contents of this TextBox";

/**

Конструктор.

*/

public TextBoxDemo()

super () ; instance = this;

}

public void pauseApp()

{

. . .

}

public void destroyApp(boolean destroy)

}

textBox = null; initialText = null; instance = null;

}

void quit()

}

destroyApp (true);

notifyDestroyedf);

public void startApp()

{

texcBox = new TextBoxC'A TextBox", initialText, MAX_SIZE,

TextField.ANY);
сextBox.addCommand(quit);
textBox.setCommandListener(this);

display();

}

/**

Возвращает единственный экземпляр этого класса.

Вызов этого метода до создания объекта возвратит пустой указатель.

@возращает экземпляр класса.

*/

public static TextBoxDemo getlnstance()

return instance;

}

public void display!)

{

Display. getDisplay(this).setCurrent(textBox);

}

public void commandAction(Command c, Displayable d)

if (c == quit)

{

quit();

}

}

}

Вы можете видеть из конструктора, что TextBox сходен с TextField, за исключением того, что он является многострочной текстовой областью. Аргументами являются заголовок, первоначальный текст, максимальное количество знаков, которое он может поддерживать, и ограничения ввода.
Ограничения являются абсолютно теми же, что и в классе TextField.

На рисунке 5.11 изображен первоначальный текст, используемый для создания экземпляра TextBox. Как и в случаях с другими редактируемыми объектами, вы просто выбираете TextBox с помощью кнопки выбора Select эмулятора и затем редактируете содержимое. Вы можете переходить с помощью четырех клавиш стрелок, стирать знаки с помощью клавиши Clear (Очистить) и вводить их с помощью кнопочной панели, либо компьютерной клавиатуры при использовании эмулятора. Конечно, программа может также манипулировать содержимым с помощью API, который поддерживает вставку, удаление, установку максимального размера, установку ограничений и так далее. На рисунке 5.12 показан экран после выбора текстового окна для редактирования.



Рисунок 5.12. Конкретный интерфейс, предоставляемый для редактирования текстового окна, зависит от реализации


Содержание раздела