I.III. Oddiy Java Applet yaratish jarayoni

|
I.III. Oddiy Java Applet yaratish jarayoni
|
bet | 3/14 | Sana | 29.12.2023 | Hajmi | 59,62 Kb. | | #129009 |
Bog'liq BMI Bo\'ronov AzamatI.III. Oddiy Java Applet yaratish jarayoni
Java 1.0 da grafik foydalanuvchi interfeysi (GUI) kutubxonasi dizaynining asosiy maqsadi dasturchiga barcha platformalarda yaxshi ko'rinadigan GUI yaratish imkonini berish edi.Bu maqsadga erishilmadi. Buning o'rniga, Java 1.0 ning Abstract Window Toolkit (AWT) barcha platformalarda juda piyodaga o'xshab ko'rinadigan grafik interfeysni taqdim etdi. Bundan tashqari, u cheklangan edi: siz faqat to'rtta shriftdan foydalanishingiz mumkin edi va siz operatsion tizimingizda topilgan murakkab va nozik GUI elementlariga kira olmadingiz. Java 1.0 AWT dasturlash modeli ham zaif va ob'ektga yo'naltirilgan emas edi. Mening seminarlarimning birida qatnashgan talaba (Java yaratish paytida Sunda bo'lgan) sababini tushuntirdi: AWT ning dastlabki versiyasi bir oy ichida kontseptsiyalangan, ishlab chiqilgan va amalga oshirilgan. Albatta, bu mahsuldorlik mo''jizasi va dizayn nima uchun juda muhimligini tushuntirish mavzusidir.
Java 1.1 AWT bilan hodisa modeli paydo bo'lishi bilan vaziyat yaxshilandi, u ancha aniq bo'ldi, JavaBeans qo'shilishi bilan birga ob'ektga yo'naltirilgan yondashuvdan foydalanildi va vizual dasturlash muhitini osongina yaratishga qaratilgan komponentli dasturlash modeliga ega edi. Java 2 eski Java 1.0 AWT dan o'tishni yakunladi va hamma narsani yaxshilab almashtirdi.Java Foundation Classes ( JFC ), GUIning bir qismi endi "Belanchak.” Endi siz (nihoyat) mamnun bo'lishingiz mumkin bo'lgan grafik interfeysni yaratish uchun sudrab olib tashlash va tashlash (qo'lda dasturlash bilan birga) mumkin bo'lgan turli xil foydalanish oson va tushunarli JavaBeans mavjud. Dasturiy ta'minot sanoatining "uchinchi qayta ko'rib chiqish" qoidasi (mahsulot uchinchi tahrirga qadar yaxshi deb hisoblanmaydi) dasturlash tillari uchun to'g'ri ko'rinadi.
Ushbu bob eng so'nggi Java 2 Swing kutubxonasini qamrab olmaydi, balki Swingni Java uchun GUI kutubxonasining yakuniy bosqichi deb hisoblaydi. Agar biron sababga ko'ra siz asl "eski" AWT kutubxonasidan foydalanishingiz kerak bo'lsa (chunki siz eski kodni qo'llab-quvvatlaysiz yoki brauzerda cheklovlar mavjud), ushbu tavsifni ushbu kitobning birinchi nashrida topishingiz mumkin, www.BruceEckel.com (shuningdek, kiritilgan) ushbu kitob bilan birga kelgan CD-ROMda).
Keyinchalik bu bobda siz applet yaratmoqchi bo'lganingizda va Swing-dan foydalanib oddiy dastur yaratmoqchi bo'lganingizda qanday farq qilishini va dastur va applet bo'lgan dasturni qanday yaratishni ko'rasiz. brauzerda yoki buyruq satridan ishga tushirilishi mumkin. Ushbu kitobdagi GUI misollarining deyarli barchasi applet yoki dastur sifatida bajarilishi mumkin.
Esda tutingki, bu barcha Swing komponentlarining to'liq ro'yxati yoki tavsiflangan sinflar uchun barcha usullar emas. Bu erda ko'rgan narsangiz oddiy bo'ladi. Swing kutubxonasi juda katta va bu bo'lim sizni kontseptsiyaning mohiyati va go'zalligi bilan tanishtirish uchun mo'ljallangan. Agar sizga ko'proq kerak bo'lsa, tadqiqotni amalga oshirishga tayyor bo'lsangiz, Swing sizga kerakli narsani beradi.
Bu yerda men Java kutubxonasi hujjatlarini java.sun.com dan HTML formatida yuklab olganingiz va oʻrnatganligingizni hisobga olaman va barcha tafsilotlar va usullarni koʻrish uchun ushbu hujjatning javax.swing sinflarini koʻrib chiqaman. Swing kutubxonasi. Swing dizaynining soddaligi tufayli siz bu erda muammoingizni hal qilish uchun etarli ma'lumot topasiz. Faqat Swing-ga bag'ishlangan juda ko'p (qalinroq) kitoblar mavjud va agar sizga ko'proq qamrov chuqurligi kerak bo'lsa yoki Swing-ning mahalliy xatti-harakatlarini o'zgartirmoqchi bo'lsangiz, ularga o'tishingiz mumkin.
Swingni o'rganganingizda quyidagilarni bilib olasiz:
Swing - bu boshqa tillarda va rivojlanish muhitlarida ko'rganingizdan ko'ra yaxshiroq dasturlash modeli. JavaBeans (kitob oxirida taqdim etiladi) kutubxonani boshqarish uchun ish maydonidir.
"GUI" (vizual dasturlash muhiti) quruvchilari to'liq huquqli Java ishlab chiqish muhitining jihatlariga qat'iy rioya qiladilar. JavaBeans va Swing dasturchiga grafik vositalar yordamida shaklga komponentlarni joylashtirganingizda siz uchun kod yozish imkonini beradi. Bu GUI-ni yaratishda nafaqat rivojlanishni tezlashtiradi, balki tajribani ko'paytirishga imkon beradi va shu bilan ko'proq dizaynlarni sinab ko'rish va oxir-oqibat eng yaxshisiga erishish imkonini beradi.
Swing-ning soddaligi va yaxshi ishlab chiqilgan tabiati shuni anglatadiki, agar siz kodni qo'lda yozishdan ko'ra GUI quruvchisidan foydalansangiz ham, natijada olingan kod tushunarli bo'ladi - bu o'qilmaydigan kodni osongina yaratadigan GUI quruvchilari bilan katta muammoni hal qiladi.
Swing zamonaviy foydalanuvchi interfeysida ko'rishni kutgan barcha komponentlarni o'z ichiga oladi, rasmlarni o'z ichiga olgan tugmalardan tortib daraxtlar va jadvallargacha. Bu katta kutubxona, lekin u qo'l ostidagi vazifalar uchun ma'lum miqdorda murakkablikka ega bo'lishi uchun mo'ljallangan - agar biror narsa oddiy bo'lsa, siz ko'p kod yozmaysiz, lekin agar siz murakkabroq narsani yaratmoqchi bo'lsangiz , kodingiz yanada murakkablashishi mumkin. Bu engil yondashuvni anglatadi, lekin agar kerak bo'lsa, siz kuchga ega bo'lasiz .
Swing-dan xohlagan narsani "foydalanishning ortogonalligi" deb atash mumkin. Ya'ni, kutubxonaning asosiy g'oyalarini tushunganingizdan so'ng, ularni hamma joyda qo'llashingiz mumkin. Asosan standart nomlash konventsiyasi tufayli, ko'pincha men ushbu misollarni yozganimda, men usul nomlarini taxmin qila oldim va qo'shimcha izlamasdan to'g'ri bo'ldim. Bu, albatta, yaxshi kutubxona dizaynining o'ziga xos belgisidir. Bundan tashqari, siz odatda komponentlarni boshqa komponentlarga kiritishingiz mumkin va narsalar to'g'ri ishlaydi.
Hamma narsa tezlik uchunKomponentlar"engil" va Swing portativlik uchun to'liq Java tilida yozilgan.
Klaviatura avtomatik ishlaydi - siz Swing ilovalarini sichqonchadan foydalanmasdan ishga tushirishingiz mumkin va u qo'shimcha dasturlashni talab qilmaydi. O'tkazishni qo'llab-quvvatlash oson emas - siz uni formangizga qo'shganingizda komponentingizni JScrollPane bilan o'rab olasiz. Maslahat vositasi kabi xususiyatlar odatda foydalanish uchun bir qator kodni talab qiladi.
Swing shuningdek, "sozlanishi mumkin bo'lgan ko'rinish va hissiyot" deb nomlangan radikal xususiyatlarni qo'llab-quvvatlaydi, ya'ni foydalanuvchi interfeysi turli platformalar va turli xil operatsion tizimlar uchun foydalanuvchi kutishlariga ko'ra dinamik ravishda o'zgarishi mumkin. O'z turingizni ixtiro qilish hatto mumkin (garchi qiyin bo'lsa ham).
Applet asoslari
Java rivojlanishining maqsadlaridan biri veb-brauzer ichida ishlaydigan kichik dasturlar bo'lgan appletlarni yaratishdir . Ular xavfsiz bo'lishi kerakligi sababli, appletlar nima qilishlari mumkinligi cheklangan. Biroq, appletlar mijoz tomonidan dasturlashni qo'llab-quvvatlash uchun kuchli vosita bo'lib, Internetning asosiy qobiliyatidir.
Applet cheklovlari
Dasturlash appletlari shunchalik cheklanganki, u ko'pincha "sinma qutisi ichida" sifatida ko'riladi, chunki sizda doimo kimdir, ya'ni Java ish vaqti xavfsizlik tizimi sizni kuzatib turadi.
Biroq, siz qum qutisidan qochib, appletlar emas, balki oddiy ilovalarni yozishingiz mumkin, bu holda siz OS ning boshqa xususiyatlariga kirishingiz mumkin. Biz kitob davomida muntazam ilovalar yozdik, lekin ular hech qanday grafik komponentlarsiz konsol ilovalari edi. Swing oddiy ilovalar uchun grafik interfeyslarni yaratish uchun ham ishlatilishi mumkin.
Odatda applet nima qilish uchun mo'ljallanganligini ko'rib chiqish orqali nima qilishga ruxsat berilganligi haqidagi savolga javob berishingiz mumkin: veb-sahifaning brauzerdagi funksiyalarini kengaytirish. Internetda bemaqsad bo'lgan odam sifatida siz hech qachon veb-sahifa sizga mos keladimi yoki yo'qligini bilmasligingiz sababli, sizga ishlash uchun xavfsiz kod kerak bo'ladi. Shunday qilib, ehtimol siz katta cheklovlarni sezasiz:
Applet mahalliy diskka tegishi mumkin emas . Bu yozish yoki o'qish degan ma'noni anglatadi, chunki siz applet sizning ruxsatingizsiz Internet orqali shaxsiy ma'lumotlarni o'qishi va uzatishini xohlamaysiz. Yozish, albatta, oldini oladi, chunki bu viruslar uchun eshikni ochadi. Java appletlar uchun raqamli imzolashni taklif qiladi . Appletlarning ko'p cheklovlari, siz qurilmangizga kirish uchun appletga (siz ishongan manba tomonidan imzolangan) ishonishga rozi bo'lganingizda chiqariladi.
Appletlarni ko'rsatish uzoq vaqt talab etadi, chunki siz har safar barcha narsalarni, jumladan, turli sinflar uchun serverlarga turli qo'ng'iroqlarni yuklashingiz kerak. Brauzeringiz appletlarni keshlashi mumkin, ammo bu kafolatlanmaydi. Shuning uchun siz har doim appletlaringizni JAR (Java Arxivi) fayliga to'playsiz, u ilovaning barcha komponentlarini (jumladan, tasvir va tovushlar bilan birga boshqa .class fayllarini) bir serverga yuklanishi mumkin bo'lgan yagona siqilgan faylga birlashtiradi. JAR faylidagi har bir alohida yozuv uchun "raqamli imzo" mumkin.
Appletlarning afzalliklari
Agar siz cheklovlar doirasida yashashingiz mumkin bo'lsa, appletlar, ayniqsa mijoz-server yoki tarmoq ilovalarini yaratishda ma'lum afzalliklarga ega:
O'rnatish shart emas . Applet haqiqatan ham platformadan mustaqil (shu jumladan audio fayllarni osongina ijro etish qobiliyati), shuning uchun siz turli platformalar uchun kodingizga hech qanday o'zgartirish kiritishingiz shart emas va o'rnatish vaqtida hech kim hech qanday xakerlik qilishi shart emas. Aslida, o'rnatish foydalanuvchi har safar appletni o'z ichiga olgan veb-sahifani yuklaganida sodir bo'ladi, shuning uchun yangilanishlar oson va avtomatik ravishda amalga oshiriladi. An'anaviy mijoz/server tizimlarida mijoz dasturiy ta'minotining yangi versiyalarini yaratish va o'rnatish ko'pincha dahshatli tushdir.
Yomon kod kimningdir tizimini buzadi deb tashvishlanishingiz shart emas, chunki xavfsizlik Java tilining yadrosi va applet tuzilmasida o'rnatilgan. Oldingi nuqta bilan bir qatorda, bu Javani faqat kompaniya ichida yoki cheklangan faoliyat hududida yashaydigan, foydalanuvchi muhiti (veb-brauzer va qo'shimchalar) aniqlashi mumkin bo'lgan Intranet mijoz-server ilovalari uchun ommabop qiladi.
Appletlar HTML-ga avtomatik ravishda integratsiya qilinganligi sababli, sizda o'rnatilgan, platformadan mustaqil applet yordami mavjud. Bu qiziqarli burilish, chunki biz dastur hujjatlarining bir qismiga ega bo'lishga odatlanganmiz, aksincha emas.
Ilova ish maydoni
Kutubxonalar ko'pincha funktsional imkoniyatlariga qarab guruhlarga bo'linadi. Ba'zi kutubxonalar, masalan, xuddi shunday ishlatiladi. String va ArrayList sinflari Java standart kutubxonasiga misoldir. Boshqa kutubxonalar boshqa sinflarni yaratish uchun qurilish bloklari sifatida maxsus ishlab chiqilgan. Muayyan kutubxona toifasini ifodalaydiilova ish maydoni , uning maqsadi ilovangizni yaratishda yordam berishdir. U ma'lum turdagi har bir ilovada sizga kerak bo'ladigan xatti-harakatlar asosini yaratadigan sinflar yoki sinflar to'plamini taqdim etadi. Keyin, xatti-harakatni talablaringizga muvofiq sozlash uchun siz dastur sinfidan meros olasiz va qiziqish usullarini ortiqcha yuklaysiz. Standart dastur ish maydoni ma'lum vaqtlarda ortiqcha yuklangan usullarni chaqiradigan boshqaruv mexanizmidir. Ilovaning ish maydoni dasturning barcha noyob qismlarini haddan tashqari yuklangan usullarga mahalliylashtirishga harakat qilgani uchun "o'zgarmaydigan narsalarni bir xil bo'lgan narsalardan ajratish" ning yaxshi namunasidir.
Appletlar amaliy ish maydoni yordamida quriladi. Siz JApplet sinfidan meros olasiz va tegishli usullarni ortiqcha yuklaysiz. Web-sahifada appletning yaratilishi va bajarilishini nazorat qiluvchi bir necha usullar mavjud:
|
| |