Главная » Java » Как писать апплеты

0

Java-­?апплеты AWT   должны быть   унаследованы от   классаjava.applet.Applet, например: class TicTacToe extends java.applet.Applet {

}

Если использовать Swing, то наследоваться нужно от класса

JApplet:

class TicTacToe extends javax.swing.JApplet {

}

В отличие от обычных программ Java,  апплетам  не нужен  метод  main(),  потому  что веб-­?браузер  сам  скачает  и  запустит  их,  как только  встретит на страничке тег <applet>.  Также браузер будет посылать  сигналы  апплетам,  когда  будут  происходить  важные события,  например  запуск  апплета,  перерисовка  апплета,  и  так далее.  Чтобы  убедиться,  что  апплет  реагирует  на  эти  события, вы должны написать  специальные  методы обратного вызова (“callback  methods”):  init(), start(), paint(), stop(), и  destroy().  JVM веб-­?браузера  будет вызывать эти методы  в следующих случаях:?? init()  вызовется, когда апплет загружается браузером.  Он  вызывается   только один раз, таким образом, этот  метод играет роль конструктора в обычных классах Java.?? start()   вызовется   сразу   после   init().   Он   также вызывается,  когда  пользователь  возвращается  на  эту страничку  после посещения другой странички. ?? paint()   вызовется,   когда   потребуется   показать  или обновить окно апплета после каких-­?либо действий на экране. Например,  апплет  перекрывается  каким-­?то  другим окном  и  браузеру нужно его перерисовать. • stop()  вызовется,  когда  пользователь  покидает  веб-­?

страничку,  содержащую апплет.• destroy() – вызовется,  когда  браузер  уничтожает апплет.  Вам придется писать текст программы в этом методе только, если  апплет  использует  некоторые  внешние ресурсы,  например, он  поддерживает  соединение  с компьютером,  с  которого он был загружен. И хотя вы  не обязаны  писать все эти методы,  в каждом апплете должен быть   хотя бы  один из  этих методов:  init() или paint().  Вот  текст  программы  апплета,  который  показывает слова  “Привет, Мир!”. В  этом  апплете  есть  только  один  метод paint()  ,  который  получает  экземпляр  объекта  Graphics  от JVM веб-­?браузера. У этого объекта есть целый набор методов для рисования.   В   следующем   примере   используется   метод drawString(), чтобы нарисовать текст “Привет, Мир!”.public class HelloApplet extends java.applet.Applet {

public void paint(java.awt.Graphics graphics) {

graphics.drawString("Привет, Мир!", 70, 40);

}

}

Создайте этот класс в Eclipse. Затем в окне “Run” выберите  “Java Applet” в левом верхнем углу, нажмите кнопку “New”,  и введите HelloApplet  в поле “Applet Class”.Чтобы протестировать этот  апплет в  веб-­?браузере,   создайте файл Hello.html в той же папке, где находится ваш апплет:<HTML>

<BODY>

Here is my first applet:<P>

<APPLET code=”HelloApplet.class” width=200 height=100>

</APPLET>

</BODY>

</HTML>

Теперь  запустите ваш веб-­?браузер и откройте файл Hello.html  с помощью пунктов меню File и Open.  Окно должно выглядеть примерно так:

Как вы думаете, после этого простого примера мы сможемнаписать  игру?  Еще бы! Пристегните ваши ремни… Пишем игру Крестики-нолики

 

СтратегияКаждая игра использует какой-­?либо  алгоритм – набор правил или стратегию, которая применяется в зависимости от действий игрока. Алгоритмы  для  одной  и  той  же  игры  могут  быть простыми или очень сложными. Когда вы слышите, что чемпион мира  по  шахматам  Гарри  Каспаров  играет  против  компьютера, на самом  деле  он  играет  против  программы.  Целые  команды экспертов  пытаются  изобрести  изощренные  алгоритмы,  чтобы обыграть   его.  Игра  Крестики-­?нолики   также  может  быть запрограммирована с  помощью  разных  стратегий,  ну  а  мы используем самую  простую:

??  У нас будет доска размером 3×3. Человек будет игратькрестиками,  а компьютер будет играть ноликами.

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

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

??  Игра  также должна заканчиваться, если больше не осталось свободных клеток. Чтобы начать новую игру, человек должен нажать кнопку “New Game”.

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

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

Источник: Java  Programming for Kids, Parents and Grandparents by Yakov Fain

По теме:

  • Комментарии