Презентация по Программированию. Книга Программирование на Java для начинающих
Скачать 4.47 Mb.
|
/> 2. Сохраните новый файл JNLP под именем Lotto.jnlp рядом с файлом Lotto.jar. 3. В тот же самый каталог добавьте файл Lotto.html и включите в его содержимое следующую гиперссылку. Запустить приложение Lotto JNLP Lotto.jnlp Совет Помните, что в файле JNLP нужно установить параметр безопасности all-permissions, чтобы при- вести файл в соответствие с манифестом. 181 4. Откройте файл Lotto.html в вашем веб-браузере и щелкните по ссылке для того чтобы запустить приложение Lotto, используя тех- нологию Web Start. Во время загрузки на короткое время появляется заставка Java Web Start, а потом загружается ваше приложение. Для того чтобы задействовать технологию Web Start, необходимо снача- ла сконфигурировать веб-сервер таким образом, чтобы он поддерживал формат JNLP. Для этого нужно добавить в описание MIME-типа следую- щую строку: application/x-java-jnlp-file JNLP. Кроме того, нужно за- дать атрибут codebase с указанием расположения вашего приложения на сервере, например codebase= "http://www.myserver/java-apps/". После загрузки необходимых файлов JNLP, JAR и HTML в это место, Java Web Start может загружать приложение по ссылке, как указывалось выше. Во время первой загрузки приложения информация из JNLP-файла ав- томатически сохраняется в локальном кэше Java . Она может быть ис- пользована для последующей загрузки приложения, а также для созда- ния ярлыков на рабочем столе для запуска приложений. 1. Чтобы открыть кэш Java на компьютере под управлением операци- онной системы Windows, щелкните по иконке Java в окне панели управления, а затем по кнопке View (Показать) на вкладке General (Общие) в открывшемся диалоговом окне. 2. Выберите программу Lotto и щелкните по иконке запуска , для того чтобы открыть приложение. 3. Нажмите кнопку Install shortcuts (Установить ярлык) для добав- ления на рабочий стол ярлыка. После этого попробуйте запустить приложение, используя созданный ярлык. HTML Lotto.html Внимание В атрибуте codebase должен быть точно указан каталог с файлами на сервере, иначе Web Start не сможет найти их и программа не запустится. На заметку Кэш Java можно открыть из командной строки как в среде Windows, так и Linux с помощью команды javaws -viewer. 10. Р а звер тывание программ 182 Создание апплетов В качестве альтернативы Java-приложениям, которые выполняются при помощи среды Java Runtime Environment, установленной в системе, программу можно разрабатывать в виде встроенных в веб-страницы Java-апплетов , которые исполняются Java-плагином в браузере. Java-апплеты отличаются от приложений Java двумя основными аспек- тами: • апплетам не нужно отдельное окно — они располагаются внутри веб-страницы при помощи кода HTML; • апплеты не содержат метод main — вместо него они используют ме- тод init(). Чтобы понять разницу между апплетом и приложением, выполните следующие шаги, преобразуя приложение Lotto.java в апплет. 1. Измените имя класса с Lotto на LottoApplet, а затем в объявлении класса замените JFrame на JApplet. 2. Поменяйте конструктор на метод апплета init() путем замены public Lotto() на public void init(). 3. Удалите все операторы, определяющие свойство окна в бывшем конструкторе, убрав следующие строки. super( "Приложение Lotto" ) ; setSize( 260 , 200 ) ; setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ) ; setVisible( true ) ; 4. Добавьте возможность задания цвета фона апплета при помощи шестнадцатеричного параметра, устанавливаемого в коде HTML. String bgStr = getParameter( "BgColor" ) ; int bgHex = Integer.parseInt( bgStr , 16 ) ; pnl.setBackground( new java.awt.Color( bgHex ) ); 5. Удалите метод main , убрав следующий блок кода. public static void main( String[] args ) { Lotto lotto = new Lotto() ; } 6. Сохраните полученный файл под именем LottoApplet.java — его со- держимое должно выглядеть следующим образом. import javax.swing.* ; import java.awt.event.* ; Внимание Объявления init в апплете должны включать ключевое слово void — апплет не мо- жет возвращать значение. 183 public class LottoApplet extends JApplet implements ActionListener { // Компоненты. ClassLoader ldr = this.getClass().getClassLoader() ; java.net.URL iconURL = ldr.getResource( "Lotto.png" ) ; ImageIcon icon = new ImageIcon( iconURL ) ; JLabel img = new JLabel( icon ) ; JTextField txt = new JTextField( "" , 18 ) ; JButton btn = new JButton( "Показать счастливые номера" ) ; JPanel pnl = new JPanel() ; // Точка входа апплета. public void init() { pnl.add( img ) ; pnl.add( txt ) ; pnl.add( btn ) ; btn.addActionListener( this ) ; String bgStr = getParameter( "BgColor" ) ; int bgHex = Integer.parseInt( bgStr , 16 ) ; pnl.setBackground( new java.awt.Color( bgHex ) ) ; add( pnl ) ; } // Обработчик событий. public void actionPerformed( ActionEvent event ) { if ( event.getSource() == btn ) { int[] nums = new int[50] ; String str = "" ; for ( int i = 1 ; i < 50 ; i++ ) { nums[ i ] = i ; } for ( int i = 1 ; i < 50 ; i++ ) { int r = (int) Math.ceil( 49 * Math.random() ) + 1 ; int temp=nums[i]; nums[i]=nums[r]; nums[r]=temp; } for ( int i = 1 ; i < 7 ; i++ ) { str += " " + Integer.toString( nums[ i ] ) + " " ; } txt.setText( str ) ; } } } JAVA LottoApplet.java На заметку Компоненты LottoApplet, а также обработчик событий остались теми же самыми. 10. Р а звер тывание программ 184 Встраивание апплетов в код веб-страницы Для того чтобы встроить Java-апплет в содержимое веб-страницы, в исходный код этой страницы нужно добавить некоторый дополни- тельный код HTML, определяющий пространство, в котором будет за- пускаться апплет. В начале при помощи HTML-тега сам Java-апплет опреде- ляется как объект при помощи назначения атрибуту type значения "application/x-java-applet" . После этого размер апплета на веб- странице определяется заданием числовых значений (в пикселях) атрибутам width и height. Затем параметры, используемые апплетом, указываются в виде атрибутов name и value тегов , входящих внутрь тегов . Обязательным должен быть тег , который присваивает атрибуту name значение "code", а атрибуту value — имя файла Java-апплета. Эле- мент может также содержать всплывающее сообщение, отобра- жающееся на веб-странице в случае невозможности запустить апплет. Каталог bin пакета JDK содержит инструмент appletviewer, который можно использовать для предварительного просмотра апплета из ука- занного документа HTML. 1. Откройте простой текстовый редактор, например Блокнот (Note- pad), затем скопируйте следующее содержимое для создания файла апплета. HTML> |