Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Бишоп Д. -> "Эффективная робота Java 2" -> 182

Эффективная робота Java 2 - Бишоп Д.

Бишоп Д. Эффективная робота Java 2 — Спб.: Питер, 2002. — 592 c.
ISBN 966-552-107-1
Скачать (прямая ссылка): effektivnayarabotajava2002.djvu
Предыдущая << 1 .. 176 177 178 179 180 181 < 182 > 183 184 185 186 187 188 .. 259 >> Следующая

/* Программа 4Касса супермаркета" Автор Дж. М. Бишоп, октябрь 1996 г.
Java 1.1 Т. Абботт и Дж. М. Бишоп, октябрь 1997 г.
* обновлена август 2000 г.
*
* Имитируем раСоту кассы овощного магазина, имеющего до 12-ти
л
* видов продукции; оперирует с ценами за 1 кг.
*
* Демонстрирует использование панелей, различных менеджеров
* размещения (включая GridLayout), пользовательские обработчики
* событий и непосредственно обработку событий, которые должны
* происходить в определенном порядке.
*/
private TextField weighField, totalField;
private Button[] itemButtons;
private Button weighButton, printButton;
public void init<) {
setLayout(new BorderLayout[)}; setBackground(Color.cyan);
Panel p - new Panelt); p.setLayout(new FlowLayout()); totalField = new TextField(6>; totalField*setEditable(false); p.add{new Label{"Стоимость")); p.add(totalField); add("North", p);
Panel q - new Panel();
q.setLayout(new GridLayout(5, 3)) ; itemButtons = new Button[items.length]; for [int і = 0; і < items.length; i++> (
itemButtons[i] - new Button(items[i]); itemButtons[i],addActionListener(this); q.add(itemButtons[i]);
)
weighButton = new Button ? "Взвесить11) ; weighButton.addActionListener(this); q.add(weighButton); printButton = new Button("Распечатать"); printButton.addActionListener(this); q. acid \ prin tbutton) add("Center", q); p = new Panel();
Апплеты в броузерах
417
p.setXayout{new BorderLayout{));
Panel g = new Panel();
weighField = new TextFiela(4); weighField.setEditable(falsej; weighField .addAc^ionListener (this) ; g* add(weighField); g.add(new Label("Bee")); p.add("Center”,g);
p.add("South",new Label("После ввода веса нажмите клавишу V'Enter\"") ); add ( "South'* , p) ;
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource () if (source -- printButton) { print I terns () ;
> else
іf (source =- veighButton) ( resetWeighField()
} else
if (source = weighField) { readWeighField0;
} e I se
selectltem(e.getActionCommand(});
}
/* Далее следует основное управление программой.
* Обработчики событий и действий, указанные выше, вызывают
* методы, которые гарантируют, ч.то ответные действия будут
* выполнены только при соблюдении определенных условий
* (например, других предыдущих событий),
*/
public void resetWeighField() {
weighField.setText (""}/ weighField.setEditable(true);
}
public void readWeighField() {
if (weighField.isEditable О) { weighField.setEditable(false); weighField* selectAll(); leg =¦ (double) Integer. valueOf ( weighField.getText() .trim ( П -intValue(); weighed - true;
)
}
public void printltemsf) { if (weighed ?& chosen) {
total = kg*unitCosts[select]; total Fie Id. setText ( "G "+total) ;
System.out .println (кд+"кг ,r+items [select] +n 0 G“ +
11ҐХІ f fnpf 1 Z f n — ri' J f
kg = 0;
weighed - false;
418
Главо ] 2. Апгтеты в действии
chosen = false; total - 0;
weighField.select(0,0);
I
}
public void selectltem(String .item) { select - 0;
while (!item.equals{items[select]}) select++; chosen — true;
private String [] items = {"Яблоки", “Груши", "Апельсины",
"Картофель и, "Лимоны", "Арбузы”, "Лук”, "Чеснок”,
"Авокадо”, "",
private double[] unitCosts - (6,00, 5,00, 7.00, 3.00, 10.00, 4 r00, 4.00,
12.00, 15,00, 0, 0, 0}; private double total; private double kg; private boolean chosen = false; private boolean weighed = false; private int select =1;
}
Рис. 12 3. Апплет "Касса супермаркета" в программе просмотра апплетов
Апплеты в броузерах
419
12, Окт Яблоки Є Сб. о = &?z. О 10.№г Груїш 0 G5.B * G50. О 20. Окт1 Картофель @ G3.0 а G6G.Q 6і0кґ Ллокадо 0 G15.Q - G90.D
Рис. 12.4. Апплет 'Касса супермаркета* е броузере Internet Explorer
Тестирование. Если мы запустим апплет из программы просмотра апплетов, то его окно будет таким же5 что и у первоначального приложения, за исключением отсутствия кнопки Закрыть, На рис. 12.3 представлены выводимое на экран изображение и данные для чека (в окне командной строки), Апплет выполняет все функции приложения, но завершает работу при закрытии программы просмотра апплетов, поэтому в его окне нет кнопки Закрыть.
Теперь, если мы сохраним HTML-файл в месте5 доступном для Web-броузеров, можно с помощью какого-нибудь из них (в данном случае Internet Explorer) вызвать апплет, указав его URL. Результат выполнения апплета в броузере показан на рис. 12.4. Если сравнить окна апплета, полученные с помощью программы просмотра апплетов и в броузере, то можно отметить два отличия:
Предыдущая << 1 .. 176 177 178 179 180 181 < 182 > 183 184 185 186 187 188 .. 259 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.