//Импорт необходимых пакетов Java import java.net.URL; import java.applet.*; import java.awt.*; import java.awt.event.*; /** * Little Banner * 88x31 * * @author Alex Vanin * * 1.05.2002 */ // Объявление открытого класса с использованием интерфейса обработки событий public class BannerEx1 extends Applet implements MouseListener { // Объявляем переменную fonts (font size) int fonts; // Объявление класса инициализации public void init() { // Добавляет слушатель событий (AWT Event version 1.1) this.addMouseListener(this) ; } // Класс для прорисовки апплета public void paint (Graphics g) { // устанавливаем белый цвет g.setColor (Color.white); // рисуем пустой прямоугольник g.drawRect (0,0,87,30); // теперь черный цвет g.setColor (Color.black); // и заполненный прямоугольник g.fillRect (1,1,85,28); // а вот и наш первый параметр - название шрифта. Его можно менять через файл HTML String fontn = getParameter ("FontFace"); // если мы не ввели имя шрифта или ввели несуществующий шрифт, то используется умолчальный шрифт - Гельветика. if ((fontn != "Dialog") || (fontn != "Helvetica") || (fontn != "TimesRoman") || (fontn != "Courier")) { fontn = "Helvetica"; } // теперь второй параметр - размер шрифта. Так как это числовой параметр - то надо поймать исключение нечислового формата try { fonts = Integer.parseInt (getParameter ("FontSize")); } catch (NumberFormatException exp){ } // нельзя использовать слишком большой или слишком маленький шрифт. Умолчальный шрифт - 20pts if ((fonts > 25) || (fonts < 8)) { fonts = 20; } // соединяем два параметра шрифта и делаем жирок Font ourfont = new Font (fontn, Font.BOLD, fonts); // устанавливаем этот шрифт и зеленый цвет g.setFont (ourfont); g.setColor (Color.green); // теперь получаем из HTML тот текст, который надо будет вывести в поле нашего баннера String Text=getParameter ("text"); // если не приведи Бог, мы не ввели текст в HTML будет выводится текст "Java" if (Text==null){ Text = "Java"; } // Ну, наконец-то рисуем эту строку в поле баннера g.drawString (Text, 24, 20);} // Теперь идет обработка события - нажатие на поле баннера public void mousePressed(MouseEvent e) { // Получаем ваш URL String YourURL = getParameter ("yourURL"); // если вы забыли параметр - выводится сайт разработчика апплета if (YourURL==null){ YourURL="http://coffeevarka.narod.ru/";} // теперь определяем будет ли выводится ваш сайт в текущем или в новом окне. String self_Blank = getParameter ("self_blank"); if (self_Blank != "_self") { if (self_Blank != "_blank") { self_Blank = "_self";}} // теперь - логическое завершение - собственно вывод вашего URL на белый свет try { AppletContext ap = getAppletContext (); ap.showDocument (new URL (YourURL),self_Blank); } catch (Exception exc) {} } // если мы наводим мышь на область баннера - в статусной строке выводится подсказка public void mouseEntered(MouseEvent e) { // это мы уже проходили String YourUrl= getParameter ("yourURL"); if (YourUrl==null) { YourUrl = "http://coffeevarka.narod.ru/";} showStatus ("Click mouse button to enter "+YourUrl);} // ну а если пользователю не понравился наш баннер и он вышел из его области приводим строку состояния в обычный вид public void mouseExited(MouseEvent e) { showStatus (""); } // пустые обработчики событий public void mouseReleased(MouseEvent e) {;} public void mouseClicked(MouseEvent e) {;} // © Copyright public String getAppletInfo () { return "Little Banner \n88x31 \nAuthor: Alex Vanin \n1.05.2002"; } } // Ну вот и все!!!Теперь минимальный текст HTML-файла для вывода вышеуказанного апплета.
<applet code = BannerEx1> </applet>Однако в этом случае будет выведен баннер шрифтом Гельветика размером 20 с возможностью перехода только на сайт coffeevarka.narod.ru. Я был бы не против этого, но это может не понравится вам. Поэтому попробуем скорректировать эти неудобности. Для этого необходимо использовать теги <param> внутри тега <applet> ... </applet>. Например мы хотим, чтобы на поле баннера выводилось "Gates" и баннер переводил бы нас на сайт http://microsoft.com/rus в новом окне. В нашем примере будем использовать следующие параметры:
<applet code = BannerEx1> <param name = text value = "Gates"> <param name = yourURL value = "http://microsoft.com/rus> <param name = self_blank value = _blank> </applet>Чтобы поэкспериментировать с этим апплетом вы можете скомпилировать вышеуказанный текст апплета или скачать этот апплет с сайта coffeevarka.narod.ru
Дружественные рассылки:
Lotus Notes 5
Сервис почтовых рассылок CONTENT.MAIL.RU |