1. gui tushunchasi guictrlSetData funktsiyasi



Download 45,68 Kb.
Sana31.12.2021
Hajmi45,68 Kb.
#201678
Bog'liq
java


Variant №13

1. GUI tushunchasi

2. GUICtrlSetData funktsiyasi

3. BoxLayout Manzil menejeri

1 Grafik foydalanuvchi interfeysi (GUI), foydalanuvchining grafik interfeysi (GUI) - bu foydalanuvchi uchun mavjud bo'lgan barcha tizim ob'ektlari va funktsiyalarini grafik ekran tarkibiy qismlari ko'rinishida (derazalar, piktogrammalar) taqdim etishga asoslangan foydalanuvchining kompyuter bilan o'zaro aloqasi uchun vositalar tizimi. , menyular, tugmalar, ro'yxatlar va boshqalar).

Buyruqlar satrining interfeysidan farqli o'laroq, GUI-da foydalanuvchi barcha ko'rinadigan ekran ob'ektlariga (interfeys elementlari) tasodifiy kirish huquqiga ega (kirish qurilmalari - klaviatura, sichqoncha, joystick va boshqalar) va ularni to'g'ridan-to'g'ri boshqaradi. Ko'pincha GUI elementlari metafora asosida amalga oshiriladi va ularning maqsadi va xususiyatlarini namoyish etadi, bu esa o'qitilmagan foydalanuvchilar tomonidan dasturlarni tushunish va ishlab chiqishni osonlashtiradi.

Grafik foydalanuvchi interfeysi foydalanuvchi interfeysining bir qismi bo'lib, foydalanuvchi bilan vizual ma'lumot darajasida o'zaro ta'sirni belgilaydi.

Keyinchalik GUI kontseptsiyasi 1970-yillarda Xerox PARC tadqiqot laboratoriyasining olimlari tomonidan qabul qilindi. 1973 yilda yosh olimlar Xerox PARC laboratoriyasida to'planishdi va tadqiqotlar erkinligiga ega bo'lishdi. Natijada, boshqa narsalar qatorida WIMP (Windows, Belgilar, Menyular, Pointers) [1] grafik interfeysi tushunchasi tug'ildi va ushbu kontseptsiya doirasida Alto kompyuteri yaratildi. U tijorat mahsuloti sifatida chiqarilmagan, ammo firma ichida Xerox korporativ vositasi sifatida keng qo'llanilgan.

1979 yilda Uch Rivers Computer Corporation Alto dizayniga o'xshash PERQ ish stantsiyasini chiqardi. 1981 yilda Xerox Alto - Star serialini chiqaradi.

GUI kontseptsiyasi 1984 yilda Apple Computer mahsulotlarida tijoratlashtirildi. Apple grafik interfeys foydasiga buyruq satridan voz kechgani uchun tanqid qilindi [2]. 1985 yilda AmigaOS tizimida ko'p tarmoqli ishlaydigan GUI ishlatilgan.

Keyinchalik GUI bozorda mavjud bo'lgan ko'plab operatsion tizim va dasturlarning standart tarkibiy qismiga aylandi. GUI-dan foydalanadigan tizimlarga misollar: Mac OS, GEM, Atari TOS, Microsoft Windows, Solaris, GNU / Linux, NeXTSTEP, OS / 2, BeOS, Android, iOS, Bada, MeeGo.

Garchi tizimlarning aksariyat qismida GUI operatsion tizim uchun qo'shimcha bo'lsa ham, uni mustaqil amalga oshirish mavjud. BIOS Setup grafik dasturining ma'lum bir varianti mavjud, hatto OSni yuklashdan oldin, IBM PC-ga mos keladigan kompyuterning sozlamalari to'liq huquqli GUI-ga o'xshash sichqoncha tomonidan boshqarilsa. Shuningdek, OT talab qilmaydigan MK uchun GUI mavjud.

2. ControlID GUICtrlCreate ... tomonidan qaytarilgan elementning identifikatori.

ma'lumotlar Combo, List, ListView, ListViewItem uchun: Opt chegarasi bilan elementlar ro'yxatini o'rnatadi ("GUIDataSeparatorChar", ...).

Progress uchun: progressni foiz sifatida belgilaydi.

Slayder uchun: slayder qiymatini o'rnatadi.

Guruh, yorliq, tugma, belgilash katakchasi, menyu, menyuItem, radio, kombinatsiya, ro'yxat, kiritish, tahrirlash, tabItem, TreeViewItem: matnni almashtiradi.

Sana uchun: elementning uslubiga va mintaqaviy parametrlarga qarab sana yoki vaqtni belgilaydi.

Dummy uchun: qiymatni o'rnatadi.

standart [ixtiyoriy]

Combo, List uchun: sukut bo'yicha tanlangan ro'yxatdagi qiymat.

Tahrirlash, kiritish uchun: agar bu qiymat bo'sh satr bo'lmasa, u holda ma'lumotlar joriy joyga (kursor joylashgan joyga) joylashtiriladi yoki tanlanganini almashtiradi.



Kombinatsiya yoki ro'yxat elementlari uchun: Agar ma'lumotlar allaqachon elementda mavjud bo'lsa, u holda bu ma'lumotlar odatiy holga keladi. Agar ma'lumotlar ajratuvchi (GUIDataSeparatorChar) yoki bo'sh satrdan boshlangan bo'lsa (""), unda avvalgi ro'yxat o'chiriladi. Agar ma'lumotlar elementda mavjud bo'lmasa, lekin siz uni qo'shib joriy qilishingiz kerak bo'lsa, GUICtrlSetData ($ controlID, "data", "data") dan foydalaning.

ListView elementlari uchun ListViewItem:

Muayyan ustunni yangilash uchun boshqalar haqida unuting, ya'ni. 3-ustunni yangilash uchun "| | Yangilash".

Agar yangilanish bekor bo'lsa, ustun / subem o'chiriladi. Masalan, "|" ikkinchi ustun / pastki o'chiradi.

Oylik elementlar uchun:

Ma'lumotlardagi sana formati "yyyy / mm / dd" dir.

Sana elementlari uchun:

Sana va vaqt mintaqaviy sozlamalar tomonidan belgilangan formatda. GuiCtrlRead () sukut bo'yicha bir xil formatdan foydalanadi.

Tahrirlash elementlari uchun:

Ma'lumotlarni joylashtirganingizda yangi ma'lumotlar oldingisining o'rnini bosadi. Oldingi ma'lumotlarning oxiriga ma'lumot qo'shish uchun standart parametrga biron bir qiymat qo'shing, masalan 1.



3. Joylashuvni boshqarish menejerlari

Joylashtirish menejeri tarkibiy qismlarning qanday shaklga qo'yilishini aniqlaydi. Platformadan, virtual mashinadan, piksellar sonidan va ekran o'lchamidan qat'i nazar, joylashuv menejeri tarkibiy qismlarning afzal yoki yaqin o'lchamda bo'lishini va dasturni yaratishda dasturchi ko'rsatgan tartibda joylashishini ta'minlaydi.

Ushbu sahifada quyidagi manzil menejerlari va misollar tasvirlangan:

Polar joylashuvi BorderLayout

FlowLayout ketma-ket joylashuvi

GridLayout jadval jadvalining joylashuvi

GridBagLayout Manzil menejeri

CardLayout Manzil menejeri

BoxLayout Manzil menejeri

GroupLayout Manzil menejeri

SpringLayout Manzil menejeri

Avtorizatsiya Dialogiga misol

O'zingizning joylashuv menejeringiz namunasi


Sahifada muhokama qilingan turli xil joylashuv menejerlarining namunalari uchun manba kodlarini bu erda yuklab olish mumkin (13.4 Kb). Swing-da, joylashuv menejeri odatdagidan ko'ra kattaroq rol o'ynaydi. Bu nafaqat operatsion tizimlar o'rtasidagi tafovutlarni yumshatibgina qolmay, balki dasturning tashqi ko'rinishini osongina o'zgartirish, komponentlarning o'lchamlari va joylashuvini qanday o'zgartirish haqida qayg'urmasdan ham o'zgartirish imkonini beradi.

Joylashuv menejerlarini qo'llab-quvvatlash java.awt.Container konteyner bazasi sinfiga kiritilgan. Swing kutubxonasining barcha tarkibiy qismlari JComponent bazaviy sinfidan meros bo'lib, o'z navbatida Konteyner sinfidan meros bo'lib o'tgan. Shunday qilib, har qanday Swing komponenti uchun siz joylashuv menejerini o'rnatishingiz yoki hozirgi vaqtda qaysi menejer ishlatayotganini bilib olishingiz mumkin. SetLayout () va getLayout () usullari shu maqsadga mo'ljallangan.

Albatta, joylashuvni o'zgartirish faqat foydalanuvchi interfeysi tarkibiy qismlarini, ya'ni panellarda (JPanel) va derazalarda (Window sinfidan meros qilib olingan) joylashtirish uchun mo'ljallangan konteynerlarda kerak bo'ladi. Ushbu tugma mavjud bo'lsa-da, siz tugmachalar yoki bayroqlardagi joyni o'zgartirmasligingiz kerak. Standart Java kutubxonasida bir nechta tayyor joylashuv menejerlari mavjud va ularning yordami bilan siz istalgan joyni amalga oshirishingiz mumkin.

Oynadagi konteyner har safar o'lchamini o'zgartirganda yoki ekranda birinchi marta paydo bo'lganda joylashuvni boshqarish usullarini chaqiradi. Bundan tashqari, siz dasturiy ravishda joylashuv menejeridan konteyner tarkibidagi qismlarni qayta tartiblashni so'rashingiz mumkin: buning uchun idish va uning tarkibidagi tarkibiy qismlarni tekshirish (tekshirish) deb nomlanadi.




Agar dastur interfeysi dinamik ravishda o'zgarsa, tekshirish juda foydali. Masalan, tarkibiy qismlarning o'lchamlari dinamik ravishda o'zgarsa (dasturni bajarish paytida yozuv matni yoki jadvaldagi ustunlar soni o'zgaradi - bularning barchasi komponentlarning o'lchamlarini o'zgartirishga olib keladi). O'zgarishlardan so'ng, tarkibiy qismlar oldingi o'lchamlarni o'tkazib yuborishi mumkin yoki aksincha, oldingi o'lcham ular uchun juda katta bo'ladi. Buning uchun tekshirish mo'ljallangan. JComponent kutubxonasining bazaviy sinfida belgilangan revalidate () usuli har qanday Swing komponenti uchun, konteyner yoki alohida tarkibiy qism bo'ladimi-yo'qligini tekshirishga imkon beradi.

Joylashuv menejeri konteynerga qo'shilgan tarkibiy qismlarni unda bajarilgan algoritmga muvofiq ma'lum tartibda joylashtiradi va ularning ma'lum hajmini belgilaydi. Biroq, odatda tarkibiy qismlarning ma'lum xususiyatlarini hisobga oladi:

Afzal o'lcham. Tarkibga juda mos keladigan o'lcham. Odatiy bo'lib, barcha komponentlarning o'lchamlari hozirgi ko'rinish va hislar menejeri tomonidan o'rnatiladi, ammo siz ularni o'zgartirishingiz mumkin. Tanlangan o'lchamni setPrefferedSize () usuli yordamida o'zgartirish mumkin.

Minimal o'lcham. Minimal tarkibiy qism hajmini aniqlash uchun parametr. Barcha tarkibiy qismlarning minimal hajmiga erishgandan so'ng, idish endi uning hajmini kamaytira olmaydi. Minimal hajmni ham o'zgartirish mumkin, buning uchun setMinimumSize () usuli mo'ljallangan.


Maksimal hajmi. Idishning hajmini oshirganda komponentning maksimal hajmini aniqlash uchun parametr. Masalan, JTextField matn maydonining maksimal hajmi cheklanmagan. Ko'pincha, u afzal ko'rgan hajmini saqlab turishi kerak. Buni maksimal o'lchamlarni belgilaydigan setMaximumSize () usuli yordamida tuzatish mumkin. Ko'pgina reja menejerlari, eng avvalo, afzal qilingan va minimal o'lchamlarda ishlaydigan maksimal hajmni e'tiborsiz qoldiradilar. X va Y oqlari bo'ylab hizalanish Ushbu parametrlar faqat BoxLayout menejeriga kerak va u uchun ular hal qiluvchi rol o'ynaydi.
Idishning chegaralari. Ushbu konteyner parametrlari konteyner chegaralaridan kiruvchi qismlarning hajmini aniqlaydi. Idishning chegara qiymatlari getInsets () usuli bilan olinadi. Ba'zida joylashuvni boshqarish menejeri ularni hisobga olishga majbur. Joylashuvni boshqarish ishining mantig'i quyidagicha: u deraza idishidan signal kelishini kutadi, unga tarkibiy qismlarning joylashtirilishini talab qiladi. Bu LayoutManager interfeysining layoutContainer () usuliga qo'ng'iroqqa mos keladi. LayoutContainer () usulida asosiy ishlar konteynerdagi tarkibiy qismlarni tartibga solish uchun amalga oshiriladi.

Joylashuv menejeri tarkibiy qismlar va konteynerning har xil o'lchamlari va xususiyatlarini hisobga oladi va tarkibiy qismlarni konteyner koordinatalari tizimida piksellar bilan to'rtburchaklar bilan belgilashga imkon beradigan har bir uchun setBounds () usulini chaqirib, konteynerdagi ma'lum joylarga joylashtirishi kerak. Moslashuvchan xatti-harakatlarga ega murakkab sxemali menejerlar uchun bu ko'p mehnat va murakkab hisob-kitoblarni anglatadi, ammo sodda komponentalarni joylashtirish algoritmlarini bajarish oson.



Quyida VerticalLayout komponentlar menejerini rivojlantirish misoli keltirilgan. U tarkibiy qismlarni ular orasidagi 5 piksel masofada vertikal ravishda joylashtiradi va barcha tarkibiy qismlar uchun afzal qilingan o'lchamdan foydalanadi.
Download 45,68 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish