Чтение онлайн

на главную - закладки

Жанры

Шрифт:

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

"/

public StringltemDemo

super("Stringltem Demo"); append(si); addCoramand(back);

setCommandListener(this);

}

instance = this;

}

}

Объекты Stringltem предоставляют вам удобный способ связать метку со значением. Вы можете вложить String в Form вместо использования объекта Stringltem, но Stringltem имеет преимущество, выражающееся в том, что его реализация гарантирует, что строки метки и значения останутся на дисплее вместе.

Gauge

Класс Gauge

также является производным от Item. Запуск GaugeDemo из основного экрана создает дисплей, показанный на рисунке 5.8.

Рисунок 5.8. Существуют интерактивные и неинтерактивные измерители. Вы можете изменять значение интерактивного измерителя

Пример, показанный на рисунке 5.8, размещает в Form четыре элемента: два измерителя (gauge) и метку String для каждого. Метки идентифицируют два различных типа измерителей, определяемых классом Gauge: интерактивный (interactive) и неинтерактивный (noninteractive). Реализация формирует изображение двух типов измерителей по-разному, так что пользователь может различать их тип.

Пользователь может устанавливать значение интерактивного измерителя. Просто прокрутите экран, чтобы выделить первый калибратор. При выделении он становится хорошо заметным, и неярким, когда не выделен. Используя стрелки, указывающие влево и вправо, которые появились внизу экрана, вы можете изменять значение измерителя. Как и вертикальные стрелки, которые вы уже видели, эти горизонтальные стрелки создаются и контролируются реализацией.

Обратите внимание, что вам придется нажать на клавишу стрелки несколько раз прежде, чем вы увидите увеличение или уменьшение числа заполненных столбиков. Причина кроется в ограниченном разрешении экрана, который способен отображать калибратор. Если весь диапазон значений, который предоставляет калибратор, слишком велик, реализация измерителя должна отобразить несколько значений для каждой вертикальной полосы, которая появляется на экране измерителя.

Стрелка вниз на экране показывает, что вы можете прокрутить экран дальше. В примере, показанном на рисунке 5.8, экран недостаточно велик, чтобы показать второй калибратор в полную высоту. При прокручивании экрана вниз отобразится весь неинтерактивный калибратор. После того как вы прокрутите вниз, обратите внимание, что теперь стрелок, указывающих влево и вправо, нет, поскольку значение неинтерактивного измерителя не может быть изменено.

Важно различать возможность взаимодействия с измерителем и возможность изменять его значение. Оба типа измерителей могут быть изменены программно.

Сокращенный исходный код, приведенный в листинге 5.7, показывает, как настроить максимальное и первоначальное значение Gauge в конструкторе.

Листинг 5.7. Четырьмя параметрами, требуемыми для указания измерителя, являются его состояние, удобное для прочтения название, первоначальное значение и максимальное значение

import javax.microedition.Icdui.Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.Icdui.Displayable;

import javax.microedition.Icdui.Form;

import javax.microedition.Icdui.Gauge;

/**

Этот

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

@смотри javax.microedition.Icdui.Gauge

*/

public class GaugeDemo extends Form

implements CommandListener

}

private String gaugelLabel = new String("Interactive gauge");

private Gauge interactiveGauge = new Gauge("Interactive", true, 50, 15);

private String gauge2Label = new String("Non-interactive");

private Gauge staticGauge = new Gauge ("Static", false, 50, 25);

/**

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

*/

public GaugeDemol)

}

super("Gauge Demo");

append(gaugelLabel); append(interacciveGauge);

append(gauge2Label); append(staticGauge);

}

addCommand(back); setCoramandListener(this);

instance = this;

}

}

В отличие от демонстрационной версии, настоящее приложение, вероятно, также изменяет значение измерителя в течение своего жизненного цикла, используя следующие методы в классе Gauge:

public void setValue(int value) public int getValuel)

Ticker

Тикер (Ticker) является объектом, предоставляющим прокручиваемый текст наверху дисплея. TickerDemo в листинге 5.8 создает дисплей, показанный на рисунке 5.9.

Рисунок 5.9. Тикер размещается на дисплее, но не на экране. Реализация определяет место для тикера независимо от какого-либо экрана, позволяя использовать его множеству различных экранов

Ticker связан с дисплеем, но не с экраном. Вы размещаете Ticker на экране с помощью метода Screen.setTicker (Ticker t), как показано в коде листинга 5.8.

Листинг 5.8. Исходный код демонстрационной программы Ticker

import javax.microedition.lcdui.Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.raicroedition.lcdui.Ticker;

import javax.raicroedition.lcdui.Form;

/**

Этот класс демонстрирует использование класса Ticker пользовательского интерфейса MIDP.

@see javax.microedition.lcdui.Gauge

*/

public class TickerDerno extends Form

implements CommandListener

}

private String str = "This text keeps scrolling until the demo stops…";

private Ticker ticker = new Ticker(str);

private Command back = new Command("Back", Command.BACK, 1);

private static Displayable instance;

/**

Поделиться:
Популярные книги

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

СД. Том 15

Клеванский Кирилл Сергеевич
15. Сердце дракона
Фантастика:
героическая фантастика
боевая фантастика
6.14
рейтинг книги
СД. Том 15

Недотрога для темного дракона

Панфилова Алина
Фантастика:
юмористическое фэнтези
фэнтези
сказочная фантастика
5.00
рейтинг книги
Недотрога для темного дракона

Девочка для Генерала. Книга первая

Кистяева Марина
1. Любовь сильных мира сего
Любовные романы:
остросюжетные любовные романы
эро литература
4.67
рейтинг книги
Девочка для Генерала. Книга первая

Имя нам Легион. Том 5

Дорничев Дмитрий
5. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 5

Студиозус 2

Шмаков Алексей Семенович
4. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус 2

Ох уж этот Мин Джин Хо 4

Кронос Александр
4. Мин Джин Хо
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Ох уж этот Мин Джин Хо 4

Неправильный боец РККА Забабашкин 3

Арх Максим
3. Неправильный солдат Забабашкин
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Неправильный боец РККА Забабашкин 3

Сердце Дракона. Том 12

Клеванский Кирилл Сергеевич
12. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.29
рейтинг книги
Сердце Дракона. Том 12

Не грози Дубровскому! Том III

Панарин Антон
3. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том III

Холодный ветер перемен

Иванов Дмитрий
7. Девяностые
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Холодный ветер перемен

Город Богов

Парсиев Дмитрий
1. Профсоюз водителей грузовых драконов
Фантастика:
юмористическая фантастика
детективная фантастика
попаданцы
5.00
рейтинг книги
Город Богов

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Ваше Сиятельство

Моури Эрли
1. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ваше Сиятельство