|
O‘zbekiston respublikasi maktabgacha va maktab ta’limi vazirligi abdulla avloniy nomidagi pedagoglarni kasbiy rivojlantirish va yangi metodikalarga o‘rgatish
|
bet | 7/14 | Sana | 29.12.2023 | Hajmi | 59,62 Kb. | | #129009 |
Bog'liq BMI Bo\'ronov Azamatmain( ) oddiygina element bo‘lib, appletga qo‘shiladi va appletning qolgan qismiga tegmasdan qoladi. Applet ko'rsatilishi uchun yaratilgan va JFrame- ga qo'shilgan.
Qator:
Console.setupClosing(ramka);
Oynaning to'g'ri yopilishiga olib keladi. Konsol com.bruceeckel.swing dan keladi va keyinroq tushuntiriladi.
Ko'rishingiz mumkinki, main() da applet aniq ishga tushirilgan va ishga tushirilgan, chunki bu holda brauzer buni siz uchun qilmaydi. Albatta, bu sizga stop() va destroy( ) ni ham chaqiradigan brauzerning to‘liq funksiyasini bermaydi , lekin ko‘p hollarda bu maqbuldir. Agar bu muammo bo'lsa, qo'ng'iroqlarni o'zingiz bajarishingiz mumkin.
Oxirgi qatorga e'tibor bering:
frame.setVisible ( rost );
Busiz siz ekranda hech narsani ko'rmaysiz.
Ish joyini ko'rsatish
Dasturni ham applet, ham dastur sifatida ishga tushiradigan kod qimmatli natijalarni bersa-da, agar hamma joyda ishlatilsa, u chalkash va qog'ozni isrof qiladi. Buning o'rniga, kitobning qolgan qismidagi Swing misollari uchun quyidagi ish maydoni displeyi ishlatiladi:
//: com:bruceeckel:swing:Console.java
// Swing demosini ishga tushirish uchun vosita
// konsol va appletdan va JFrames uchun.
paket com.bruceeckel.swing;
import javax.swing.*;
import java.awt.event.*;
public class Console {
// Sinf nomidan sarlavha qatorini yarating:
umumiy statik String sarlavhasi (Object o) {
String t = o.getClass().toString();
// "Sinf" so'zini olib tashlash:
agar (t.indexOf( "sinf" ) != -1)
t = t.substring(6);
qaytish t;
}
public static void setupClosing(JFrame frame) {
// JDK 1.2 yechimi
// anonim ichki sinf:
frame.addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
// JDK 1.3 da takomillashtirilgan yechim:
// frame.setDefaultCloseOperation(
// EXIT_ON_CLOSE);
}
umumiy statik bekor
ishlash (JFrame ramkasi, int kengligi, int balandligi) {
setupClosing(ramka);
frame.setSize(kenglik, balandlik);
frame.setVisible( rost );
}
umumiy statik bekor
ishga tushirish (JApplet applet, int kengligi, int balandligi) {
JFrame ramka = yangi JFrame (sarlavha (applet));
setupClosing(ramka);
frame.getContentPane().add(applet);
frame.setSize(kenglik, balandlik);
applet.init();
applet.start();
frame.setVisible( rost );
}
umumiy statik bekor
ishlash (JPanel paneli, int kengligi, int balandligi) {
JFrame ramka = yangi JFrame (sarlavha (panel));
setupClosing(ramka);
frame.getContentPane().add(panel);
frame.setSize(kenglik, balandlik);
frame.setVisible( rost );
}
} ///:~
Siz ushbu vositadan o'zingiz foydalanishingiz mumkin, chunki u kutubxonaga kiritilgancom.bruceeckel.swing . Console klassi butunlay statik usullardan iborat. Birinchisi har qanday ob'ektdan sinf nomini (RTTI yordamida) olish va odatda getClass ( ) usuli bilan oldiga qo'shiladigan "sinf" so'zini olib tashlash uchun ishlatiladi . Bu "sinf" so'zining mavjudligini aniqlash uchun Stringning indexOf( ) usulidan va " sinf " prefiksi yoki orqadagi bo'shliqlarsiz yangi satr yaratish uchun substring( ) dan foydalanadi. Bu nom run() usullarida ko'rsatiladigan oyna yorlig'i uchun ishlatiladi .
setupClosing() JFrame yopilganda dasturdan chiqishga olib keladigan kodni yashirish uchun ishlatiladi . Odatiy bo'lib, bu hech narsa qilmaydi, shuning uchun setupClosing( ) ga qo'ng'iroq qilmaguningizcha yoki o'zingiz uchun shunga o'xshash kod yozmasangizJFrame , ilova yopilmaydi. Ushbu kodni to'g'ridan-to'g'ri run( ) usuli ketma-ketligiga qo'yishdan ko'ra olib tashlashning sababi, qisman bu sizga run( ) usulidan ko'ra murakkabroq narsani qilishni xohlaganingizda usuldan mustaqil foydalanish imkonini beradi . Biroq, bu o'zgarish omilini ajratib turadi: Java 2-da ba'zi turdagi oynalarni yopishning ikkita usuli mavjud. JDK 1.2 da yechim yangi sinf yaratishdirWindowAdapter va ilovalarwindowClosing( ) yuqorida ko'rsatilganidek (buning ma'nosi keyinroq ushbu bobda to'liq tushuntiriladi). Biroq, JDK 1.3 ni yaratish jarayonida kutubxona ishlab chiquvchilari, agar siz applet yaratmasangiz, odatda derazalarni yopishingiz kerakligini payqashdi va shuning uchun ular qo'shdilar. JFrame va JDialog da setDefaultCloseOperation( ) . Kodlash nuqtai nazaridan, yangi usuldan foydalanish yanada yoqimli, ammo bu kitob JDK 1.3 joriy etilishidan oldin yozilgan. Linux va boshqa platformalar uchun, shuning uchun versiyalar muvofiqligi manfaati uchun o'zgarishlar setupClosing( ) usulida izolyatsiya qilingan .
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
O‘zbekiston respublikasi maktabgacha va maktab ta’limi vazirligi abdulla avloniy nomidagi pedagoglarni kasbiy rivojlantirish va yangi metodikalarga o‘rgatish
|