КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Листинг 6.4. Файл chapter6/TxtField/TxtField. java
Листинг 6.3. Файл chapter6/TxtField/TxtField. htinl <HTML> <НЕАD> <TITLE>Get text</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function getTextFromAoplet() { var szMsg="null"; GetForm.Comment.value = document.applets[0].str + "\n" + ------------------------\n" + document.applets[0].getAppletInfo(); } //--> </SCRIPT> </HEAD> <BODY> <HR> <APPLET CODE=TxtField.class NAME="TxtField" ID=TxtField WIDTH=320 HEIGHT=140> </APPLET> <HR> <FORM NAME="GetForm"> <P><TEXTAREA NAME="Comment" ROWS="7" COLS="45"> </TEXTAREA> <P> <INPUT TYPE="button" VALUE="Get applet info and text" onClick="getTextFromApplet();"> </FORM> <A HREF="TxtField.java">The source.</A> </BODY> </HTML>
Для кнопки, розташованої у формі з ім'ям GetForm, визначений оброблювач події onClick:
onСlick="getTextFromApplet();"
Цей оброблювач викликає функцію getTextFromApplet, що виконує взаємодію з аплетом. Функція getTextFromApplet обертається до аплету як до найпершого елемента масиву document. applets[0]:
GetForm.Comment.value = document.applets[0].str + "\n" + "----------------------------\n" + document. applets[0]. getAppletInfo();
Тут записується у властивість value многострочного поля GetForm. Comment значення перемінної str, до якого доданий роздільник із символів - і рядок опису аплета, отримана від методу getAppletInfo. Вихідний текст аплета приведений у листинге 6.4.
// Однострочное текстове поле класу TextField // // (С) Фролов А.У, 1997, 1998 // // E-mail: frolov@glas.apc.org // WWW: http://www.glasnet.ru/~frolov // або // http://www.dials.ccas.ru/frolov import Java.applet.*; import java.awt.*; public class TxtField extends Applet { // Створюємо посилання на об'єкти типу TextField TextField txt; // Створюємо посилання на об'єкти типу Button Button btnGetText; // Рядок для збереження введених даних public String str; //-------------------------------------------------- // getAppletInfo // метод, що повертає рядок інформації про аплете // ------------------------------------------------- public String getAppletInfo() { return "Name: TxtField\r\n" + "Author: Alexandr Frolov\r\n" + "E-mail: frolov@glas.ape.org\r\r." + "WWM: htrp: //www.glasnet.ru/~frolov\r\n" + "Created with Microsoft Visual J++ Version 1.0"; } //-------------------------------------------------- // init // Метод, що одержує керування при ініціалізації аплета //-------------------------------------------------- public void init() { // Створюємо що редагується однострочное текстове поле txt = new TextField("Введіть рядок тексту", 35); // Створюємо кнопку, за допомогою якої можна получить // уміст текстового поля btnGetText = new Button ("Одержати рядок"); // Добавляємо текстове поле у вікно аплете add(txt); // Добавляємо кнопку у вікно аплете add(btnGetText); // Одержуємо і зберігаємо поточний текст, // встановлений у поле str = txt.getText(); // Встановлюємо цвіт фона setBackground(Color.yellow); } //--------------------------------------------------- // action // Метод визивається, коли користувач выполняет // дія над компонентами //--------------------------------------------------- public boolean action(Event evt, Object obj) { // Посилання на кнопку, від якої пришло сообщение Button btn; // Перевіряємо, що подія викликана кнопкою, а не // іншим компонентом if(evt.target instanceof Button) { // Одержуємо посилання на кнопку, що викликала подія // Перевіряємо посилання на кнопку if(evt.target.equals (btn.GetText)) { // Одержуємо і зберігаємо поточний текст, // встановлений у поле str = txt.getText(); // Перемальовуємо вікно аплета repaint(); } // Якщо подія виникнула від невідомої кнопки, // ми його не опрацьовуємо else { return false; } // Повертаємо поизнак того, що ми опрацювали подію return true; } // Якщо подія викликана не кнопкою, // ми його не опрацьовуємо return false; } //---------------------------------------------- // paint // Метод paint, що виконує малювання у вікні аплета //----------------------- ---------------------- public void paint(Graphics g) { // Визначаємо поточні розміри вікна аплета Dimension.dimAppWndDimension = size(); // Вибираємо в контекст відображення чорний цвіт g. setColor(Color. black); }
Цей текст відтворений із невеличкими змінами з 30-го тому "Бібліотеки системного програміста". Зміни полягають у тому, що додано до визначення поля str ключове слово public:
public String str;
Це необхідно для того, щоб поле str було доступно зі сценарію JavaScript. 6.4. Динамічне завантаження аплетов Java Ще одна корисна можливість, що з'являється при використанні сценаріїв JavaScript, - це динамічна перезагрузка аплетов Java у документах HTML, створених із використанням фреймов. Ідея динамічного завантаження аплетов полягає в тому, що сценарій JavaScript динамічно створює документ HTML, у якому знаходиться оператор <APPLET>. Передаючи аплету в цьому документі різноманітні значення параметрів за допомогою оператора <PARAM>, сценарій JavaScript може управляти його роботою. У файлі Index.html (листинг 6.5) знаходиться опис двох фреймов документа HTML. У лівому фрейме знаходиться форма з перемикачами і кнопкою, а в правом - аплет Java. Якщо включити один із перемикачів із назвами шрифтів, а потім натиснути кнопку, то у вікні аплета з'явиться назва шрифту. Ця назва буде оформлено з застосуванням шрифту, обраного вами в лівому фрейме.
Дата добавления: 2014-11-29; Просмотров: 343; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |