Dasturiy qism - Mavzu: Temir yo‘l kassasida, chipta sotish va bo‘sh o‘rinlar hisobi

|
Mavzu: Temir yo‘l kassasida, chipta sotish va bo‘sh o‘rinlar hisobi
|
bet | 8/13 | Sana | 06.02.2024 | Hajmi | 1,93 Mb. | | #151982 |
Bog'liq Temir yo‘l kassasida,chipta sotish va bo‘sh o‘rinlar hisobiDasturiy qism.
1. Java Swing va MySQL haqida umumiy ma’lumot.
Java Swing, Java dasturlash tilining grafik interfeysini yaratish uchun ishlatiladigan bir kutubxonadir. Bu kutubxona, Java platformasiga asoslangan tizimlarda GUI (Grafik Foydalanuvchi Interfeysi) yaratishni osonlashtiradi. Swing, komponentlarni (tugmalar, tekst maydonchalari, jadvallar, oynalar kabi) yaratish, o‘zgartirish va boshqarishga imkon beradi. Ular yaratilgan tizimlarda foydalanuvchilar bilan interaksiyani amalga oshirish uchun qo‘llaniladi.
Swing, Java AWT (Abstract Window Toolkit) asosida yaratilgan bo‘lib, undan kelib chiqqan interfeys komponentlari, o‘zining o‘zgarishlarni yaxshi boshqarish, boshqa komponentlarga moslashtirish va shuningdek xususiyatlarini o‘z ichiga olgan.
MySQL esa relatsion ma’lumotlar bazasi tizimi hisoblanadi. Ushbu tizim, ma’lumotlarni saqlash, tashkil etish, o‘zgarishlarni kiritish va so‘rovlarni bajarish imkonini beradi. MySQL, bir nechta platformalar uchun o‘ziga xos versiyalari mavjud bo‘lib, oddiy, ochiq manbali, va tezkor bo‘lgan ma’lumotlar bazasi tizimi sifatida mashhur.
MySQL server bilan ishlatilishi mumkin, qo‘shimcha MySQL Connector/J kutubxonasi orqali Java dasturlarni MySQL bilan bog‘lash imkonini beradi. Java dasturlar MySQL bazasi bilan ma’lumotlar almashinuvi o‘rnatish, ma’lumotlarni kiritish, o‘zgartirish, o‘chirish va so‘rovlarni bajarish imkoniyatini ta’minlaydi.
Java Swing va MySQL birgalikda ishlatilganda, Java dasturlash tilida grafik interfeysni yaratish uchun Swing kutubxonasidan foydalaniladi va MySQL ma’lumotlar bazasiga ma’lumotlarni saqlash, o‘zgartirish va so‘rovlarni bajarish uchun MySQL bilan bog‘lanish o‘rnatiladi. Bu, ma’lumotlarni qo‘llab-quvvatlaydigan va ularga foydalanuvchilarning aralashishiga imkon beradigan dinamik interfeysli dasturlar yaratishga imkon beradi.
2. Java Swing tuzilishi, asosiy qismlari, komponentlari va ularning vazifalari.
Swing Java uchun GUI vidjet vositalari to‘plamidir. U Oracle'ning Java Foundation Classes (JFC) qismidir - Java dasturlari uchun grafik foydalanuvchi interfeysini (GUI) taqdim etish uchun API hisoblanadi.
6-rasm. Javada Swing vidjeti ko‘rinishi.
Swing oldingi Abstract Window Toolkit (AWT) ga qaraganda ancha murakkab GUI komponentlarini taqdim etish uchun ishlab chiqilgan. Swing bir nechta platformalarning ko‘rinishi va hissiyotini taqlid qiluvchi ko‘rinish va hissiyotni ta’minlaydi, shuningdek, ilovalarning asosiy platformaga aloqasi bo‘lmagan ko‘rinish va his-tuyg‘ularga ega bo‘lishiga imkon beruvchi ulanadigan ko‘rinish va hissiyotni qo‘llab-quvvatlaydi. U AWTga qaraganda kuchliroq va moslashuvchan komponentlarga ega. Tugmalar, tasdiqlash qutilari va teglar kabi tanish komponentlarga qo‘shimcha ravishda, Swing yorliqli panel, aylantirish panellari, daraxtlar, jadvallar va ro‘yxatlar kabi bir nechta rivojlangan komponentlarni taqdim etadi. AWT komponentlaridan farqli o‘laroq, Swing komponentlari platformaga xos kod bilan amalga oshirilmaydi. Buning o‘rniga, ular butunlay Javada yozilgan va shuning uchun platformadan mustaqil hisoblanadi.
Internet Foundation Classes (IFC) Java uchun dastlab Netscape Communications Corporation tomonidan ishlab chiqilgan va birinchi marta 1996 yil 16 dekabrda chiqarilgan. Java Foundation Classesni tashkil qilib, "Java Foundation Classes" keyinchalik "Swing" deb o‘zgartirildi.
Swing ilovaning har bir komponentining ko‘rinishi va tuzilishini dastur kodiga jiddiy o‘zgartirishlar kiritmasdan o‘zgartirish imkonini beruvchi mexanizmni taqdim etdi. Ulanadigan ko‘rinish va tuzilishni qo‘llab-quvvatlashning joriy etilishi Swing komponentlariga platforma mustaqilligining afzalliklarini saqlab qolgan holda mahalliy komponentlarning ko‘rinishini taqlid qilish imkonini beradi. Dastlab alohida yuklab olinadigan kutubxona sifatida tarqatilgan Swing 1.2 chiqarilganidan beri Java Standard Edition tarkibiga kiritilgan. Swing klasslari va komponentlari javax.swing paket ierarxiyasida joylashgan.
Swing vorisi JavaFX ni ishlab chiqish 2005 yilda boshlangan va u ikki yildan so‘ng JavaOne 2007 da rasmiy ravishda taqdim etilgan. JavaFX 2011-yilda ochiq manbali boʻlib, 2012-yilda Oracle JDK yuklab olishning bir qismiga aylandi. JavaFX Swingni bir qancha afzalliklari, jumladan engilroqligi, CSS uslubiga egaligi, zamonaviy dizayn boshqaruvlari hamda FXML va Scene Builder-dan foydalanishi tufayli almashtirmoqda. 2018 yilda JavaFX uning rivojlanish sur’atlarini oshirish uchun OpenJFX loyihasi doirasida OpenJDK tarkibiga kiritildi.
Swing - bu platformadan mustaqil, Java uchun "model-ko‘rinish-kontroller" grafik interfeysi ramkasi bo‘lib, u bir torli dasturlash modeliga amal qiladi. Bundan tashqari, ushbu ramka kod tuzilishi va Swingga asoslangan GUIning grafik taqdimoti o‘rtasida mavhumlik qatlamini ta’minlaydi.
Swingning yuqori darajadagi moslashuvchanligi uning o‘zini ko‘rsatish uchun mahalliy xost operatsion tizimining (OS) GUI boshqaruvlarini bekor qilish qobiliyatida namoyon bo‘ladi. Swing mahalliy foydalanuvchi interfeysi asboblar to‘plamini chaqirish o‘rniga, Java 2D API lar yordamida boshqaruv elementlarini bo‘yaydi. Shunday qilib, Swing komponenti tegishli mahalliy OS GUI komponentiga ega emas va asosiy grafik GUI lar bilan mumkin bo‘lgan har qanday usulda o‘zini ko‘rsatishi mumkin.
Javaning dastlabki versiyalaridan boshlab Abstract Window Toolkit (AWT) ning bir qismi foydalanuvchi interfeysi komponentlari uchun platformadan mustaqil API-larni taqdim etdi. AWT-da har bir komponent asosiy oynalash tizimiga xos mahalliy tengdosh komponent tomonidan ko‘rsatiladi va boshqariladi.
Bundan farqli o‘laroq, Swing komponentlari ko‘pincha engil deb ta’riflanadi, chunki ular operatsion tizimning oynalash vositalari to‘plamida mahalliy resurslarni taqsimlashni talab qilmaydi. AWT komponentlari og‘ir vaznli komponentlar deb ataladi.
Swing API ning ko‘p qismi odatda to‘g‘ridan-to‘g‘ri almashtirish emas, balki AWT ning qo‘shimcha kengaytmasi hisoblanadi. Aslida, har bir engil Swing interfeysi oxir-oqibat AWT og‘ir vaznli komponentida mavjud, chunki Swing-dagi barcha yuqori darajadagi komponentlar (JApplet, JDialog, JFrame va JWindow) AWT yuqori darajadagi konteynerini kengaytiradi. Java 6 10 ga yangilangandan oldin Z-tartibi nomuvofiqligi tufayli bir xil oynada yengil va og‘ir komponentlardan foydalanish umuman tavsiya etilmaydi. Biroq, Javaning keyingi versiyalari bu muammolarni hal qildi va endi Swing va AWT komponentlari Z-tartibi muammosisiz bitta GUIda ishlatilishi mumkin.
7-rasm. AWT va Swing sinfi iyerarxiyasi
Quyidagi dasturda Swing ilovasida “Hello World” oynasi yaratiladi:
// Hello.java (Java SE 8)
|
| |