рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Передача данных в апплет

Передача данных в апплет - раздел Программирование, Введение в Java Часто Нам Надо Настроить Апплет В Соответствии С Некоми Параметрами. Параметр...

Часто нам надо настроить апплет в соответствии с некоми параметрами. Параметры могут браться из различных источников - например из внешнего файла или из базы данных. На этом уроке мы рассмотрим, как брать параметры из html-файла.

Вот пример код апплета, берущего параметры из html-страницы:

import java.applet.*;import java.awt.*;public class Applet1 extends Applet { String myString; int fontSize; Font font; public void init() { // Берем строковый параметр. myString = this.getParameter("str"); // Берем целочисленный параметр. fontSize = Integer.parseInt(this.getParameter("size")); // Устанавливаем размер шрифта // в соответствии с полученным параметром. font = new Font("Courier", Font.BOLD | Font.ITALIC, fontSize); } public void paint(Graphics g) { // Устанавливаем шрифт. g.setFont(font); // Выводим надпись нужным шрифтом. g.drawString(myString, 10, 40); }}

Как вы видите, основной метод для взятия кода - это getParameter. Возвращает он строку - которую при необходимости надо превратить в нужный тип (как мы превратили в целое число параметр size).

Откуда же наш апплет берет значения параметров? Как уже говорилось, из самой html-страницы. Вот код для такой страницы:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><title>HTML Test Page</title></head><body><applet codebase = "." code = "project1.Applet1.class" name = "TestApplet" width = "200" height = "100" hspace = "0" vspace = "0" align = "middle"> <param name = "str" value = "Igor Alexeev"><param name = "size" value = "14"></applet></body></html>

Как нетрудно заметить, значения параметров передаются в теге param, который вложен в тег applet. Для каждого параметра мы должны задать имя (name) и значение (value).

Указанный апплет при данных параметрах будет выглядеть так:

А если изменить параметры str и size, то он может выглядеть, например, так:

 

Начинаем писать игру "Убей муху"

Этот и следующий уроки мы посвятим написанию простой игры - а именно на нашем апплете будет появляться изображение мухи, которое будет менять свое положение сначала раз в секунду. Игрок должен попасть по изображению мышкой. Если попал, то, во-первых, начисляется одно очко и, во-вторых, муха начинает менять свое положение в два раза чаще (2 раза в секунду после первого попадания, 4 раза в секунду после второго и т. д.).

Начинаем писать. Вот код этого урока:

import java.awt.*;import java.applet.*; // Основной класс апплета.public class KillFly extends Applet implements Runnable{ // Поток. Thread t; // Координаты мыши. int x, y; // Два изображения мыши. Image img, img2; // Частота перемещения мухи. int period = 1000; //Число очков. int points = 0; // Номер показываемой картинки. int imgNumber = 0; //Реализуем метод интерфейса Runnable. public void run() { while (true) { try { // Меняем случайным образом координаты мыши. x = (int) (Math.random() * 400); y = (int) (Math.random() * 300); //Вызываем перерисовку. repaint(); t.sleep(period); } catch (InterruptedException e) { } } } // Инициализация апплета. public void init() { img = getImage(getDocumentBase(), "1.jpg"); img2 = getImage(getDocumentBase(), "2.jpg"); t = new Thread(this); t.start(); } // Перерисовка. public void paint(Graphics g) { // Выбираем картинку. if (imgNumber == 0) { g.drawImage(img, x - 50, y - 50, this); } else { g.drawImage(img2, x - 50, y - 50, this); } // Выводим очки. g.drawString("Points :" + points, 20, 20); }}

Как вы видите, анимацию мы получаем через наследование нашего класса от интерфейса Runnable (подробности см. в уроке 8). Для реализации этого интерфейса мы добавляем в наш класс метод run. Внутри этого метода мы запускаем бесконеный цикл, внутри которого мы получаем новое случайное мето для нашей мухи и вызываем перерисовку.

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

Наш апплет будет выглядеть приблизительно так:

 

– Конец работы –

Эта тема принадлежит разделу:

Введение в Java

Операторы ветвления... Операторов ветвления в Java два if и switch Первый позволяет пойти программе по одному из двух направлений второй...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Что такое Java и как она работает?
  Если кратко, то Java - это один из языков программирования. Он разработан компанией Sun, и является платформо-независимым. Это означает, что программа, написанная на Java, будет оди

Что такое JDK и как его установить?
  JDK расшифровывается как Java Developer Kit. Это набор программ и утилит, предназначенный для программирования на Java. В него ряд утилит. Вот некоторые из них: Компилятор

Категории программ Java
● Приложение (application) – аналог “обычной” прикладной программы. ● Апплет (applet) – специализированная программа, работающая в окне WWW-документа под управлением браузера.

SDK - Software Development Kit
Поставить на компьютер исполняющую среду Java (JVM) можно путём установки SDK – Комплекта разработки программного обеспечения. Имеется три типа SDK: ● Java ME– компл

Первая программа на Java
  Первая программа, по давно укоренившейся традиции, будет HelloWorld. Ниже приводится ее текст, который надо набрать в любом текстовом редакторе, позволяющем сохранять документ в ASC

Числовые типы данных
  Числовые типы данных Java перечислены в следующей таблице: Тип Описание Количество байтов int

Логический тип
  Переменные логического типа могут принимать значение или true (истина), или false (ложь). Сразу обратите внимание, что нельзя вместо true и false писать нулевое и ненулевое значения

Массивы
  Начнем сразу с примеров. Вот пример, в котором мы заводим массив из 3-х целых чисел, в каждое из которых мы записываем случайное целое число от 0 до 9 и затем выводим все числа на э

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

Модификатор final
  Иногда мы не хотим, чтобы от некоторого созданного нами класса можно было производить классы-потомки. Например, это может понадобиться в целях безопасности.  

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

Читаем строку с клавиатуры
  Вы, наверное, обратили внимание, что раньше мы старательно избегали получать данные от пользователя. Значения всем переменным мы задавали непосредственно в программе. Сейчас мы и уз

Читаем числа с клавиатуры
  Вот пример класса, который может читать числа с клавиатуры: import java.io.*; class NumReader{ public static void main(String [] args) throws IOException{

Закрытие оконной программы
  Давайте дополним код нашей первой оконной программы по крайней мере таким образом, чтобы она закрывалась: import java.awt.*; import java.awt.event.*; clas

Пакет java.awt - обзор
  Пакет java.awt предназначен для создания пользовательского интерфейса. Он, в частности, содержит классы для различных компонентов - кнопок, текстовых полей, классы для меню, классы

Библиотека Swing - делаем окно
  В Java существует две библиотеки для создания пользовательского интерфейса - Awt и Swing. Swing считается более продвинутой и современной. Сегодня мы создадим окно с использованием

Swing: добавляем кнопку с обработчиком
  Посмотрим, как можно добавить к созданному ранее окну кнопку с обработчиком.   Наша кнопка будет экземпляром класса JButton. Вообще схема работы с элементами

Swing: кнопка с двумя состояниями
  В библиотеке swing наряду с обычной кнопкой есть кнопка с двумя состояниями - нажатом и отжатом. Она работает приблизительно как checkbox, только выглядеть по-другому. Для создания

Правильное закрытие программы
  Созданные нами ранее программы работали не вполне корректно - а именно после своего закрытия они оставались в памяти. Убедится в этом было достаточно просто - запустив и закрыв прог

Swing: элемент JCheckBox
  Элемент JCheckBox - это обычный checkbox (флажок). Он имеет вид квадратика, в котором может стоять (или не стоять) галочка. Этот элемент может иметь 22 состояния - либо включенное,

Swing: JRadioButton
  Элемент управления JRadioButton предназначен для организации выбора только одного значения из нескольких возможных. Для этого несколько элементов JRadioButton объединяются в одну гр

Swing: Несколько групп радиокнопок
  Ранее мы рассмотрели работу с одной группой радиокнопок. Сейчас же мы с вами посмотрим, как работать с несколькими группами радиокнопок.   Приведем сразу лист

Swing: Список JList
  Класс JList предназначен для выбора пользователем одного или нескольких значений из списка. В этом элементе пользовательского интерфейса можно выбирать как один элемент, так и неско

Простой графический редактор
  import java.awt.*; import java.awt.event.*; public class DrawCanvas extends Canvas { private int lastX, lastY; private int ex, ey; priva

Интерфейсы
  Интерфейсы в Java предназначены только для объявления некоторых методов и констант. Никакие реализации методов в интерфейсах не предусматриваются. Т. е. интерфейс только содержит ин

Менеджеры компоновок
Применение компоновок   При проектировании интерфейса пользователя с использованием языка Java компоненты размещаются в контейнерах. Самым простым примером контейнера может с

Интерфейс в качестве типа
  Мы не можем создать экземпляр интерфейса. Именно потому, что у него не существует реализации методов. Т. е. мы не можем написать, например, так: IFigure f = new IFigure();

Множественное наследование
  В Java, как и во многих других языках программирования, не допускается множественное наследование для классов. У класса может быть только один непосредственный предок (у которого, в

Инверсия списка
  Рассмотрим с вами решение классической задачи - инверсии (т. е. размещению элементов в обратном порядке) списка. Список устроен следующим образом: каждый элемент списка содержит, во

Работа с файлами и дисками
  Для работы с файлами и дисками служит все тот же рассмотренный нами ранее класс File. Вот несколько примеров его использования для работы с папками и дисками: import java.i

Получение системных свойств
  Для получения системных свойств (таких, например, как имя пользователя, версия виртуальной java-машины или разделителя между папками для конкретной операционной системы) используетс

Перечисления (enum) 2
  В Java, в отличие от многих других языков программирования, в перечисления можно добавлять методы, переменные и другие члены. Этим перечисления очень напоминают на классы.

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

Что такое апплет?
Апплет - это небольшая программа на языке Java, которая может выполнятся в окне браузера. Сам по себе апплет, в отличие от других java-программ, выполнятся не может - присутствие браузера тут обяза

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

Рисуем прямоугольники и эллипсы
Для рисования прямоульников и эллипсов служат методы drawOval, drawRect, fillOval и fillRect класса Graphics. Первые два из них рисуют прямоугольник и эллипс соответственно, последние два служат дл

Закрашиваем фон
По умолчанию апплет имеет серый фон. Для изменения фона служит метод setBackground. Этот метод принимает в качестве параметра переменную типа Color. Вот пример апплета с синим цветом фона:

Изменяем шрифт
Для вывода некоторой надписи в апплет мы используем метод drawString объекта Graphics. Этот метод имеет три параметра (что на надпись и расположение на апплете). По умолчанию используется стандартн

Мигающая надпись
Давайте посмотрим, как мы может достичь в апплете эффекта мигающей надписи (это как мигающие банеры, только не так надоедает ;)). Вот пример: import java.awt.*;import

Бегущая строка
Бегущую строку в апплете можно реализовать аналогично мигающей строке, рассмотренной на прошлом уроке. Отличие только в том, что в методе paint мы вместо изменения цвета изменяем координату x нашей

Работаем с мышью
Работа с мышкой происходит на основе модели делегирования событий. Дело тут происходит приблизительно так: есть некоторый источник событий - например, мышка. Этот источник генерирует определенные с

Интерфейс MouseListener
Для работы с мышью сушествуют два интерфейса. На этом уроке мы рассмотрим один из них - а именно MouseListener. В этом интерфейсе существует следующие пять методов: mouseCli

Интерфейс MouseMotionListener
Второй интерфейс, который позволяет реализовать работу с мышью - это MouseMotionListener. В этом интерфейсе только два метода: mouseMoved (перемещение мыши) mouseD

Работаем с клавиатурой
Для работы с клавиатурой используется интерфейс KeyListener. Т. е. класс нашего апплета должен реализовывать этот интерфейс для работы с клавиатурой. В этом интерфейсе имеется три метода: keyPresse

Вставляем изображение в апплет
Разумеется, рисовать в апплете с использованием примитивов - задача не из легких. Поэтому части поступают так - рисуют качественные изображения в каком-нибудь графическом редакторе, сохраняют их в

Заполение фона градиентом
Для заполнения фона апплета градиентом мы просто будем рисовать вертикальные линии. Каждая такая линия будет иметь цвет, незначительно отличющийся от цвета соседей. Разумеется, что все линии будут

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги