17-Maruza: Boshqarish komponentalari Reja: Text Pane компонентаси 2



Download 0,74 Mb.
bet6/12
Sana22.07.2022
Hajmi0,74 Mb.
#835860
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
17-Ma'ruza

3.4 Progress Bar компонентаси.


Swing нинг бу компонентаси жараѐн кўрсатгичи ѐки жараѐн индикатори (рус тилида индикатор процесса) деб аталади. Индикатор бирор жараѐннинг қанчаси бажарилганлигини ѐки яна қанчаси қолганлигини кўрсатиб турувчи асбоб ѐки панел. Бу компонентанинг қўлланишини сиз кўп кузатгансиз. Масалан, бирор программани компьютерга ўрнатишда, программаларни кўчиришда, компьютерда тест топширишда ва ҳ.к. Замонавий программаларнинг деярли барчасида бу компонента қўланилади. Қуйида бу компонентани қўллаш усуллари билан танишамиз. Бунинг учун:
Янги проект яратинг.
Формага оддий панел ўрнатинг. Панелга бирор ранг беринг ва панел формани тўлалигича қопласин. Бу ишни амалга ошириш олдинги бўлимлардан сизга таниш.
Панелга Progress Bar компонента ўрнатинг. У горизонтал кўринишда бўлади. Соддалик учун унга Pb1 ном беринг.
Progress Bar компонента Slider компонентага ўхшаб кетади ва унинг айрим хоссаларини мерос қилиб олган. Масалан, Progress Bar нинг хоссалар ойнасидаги maximum, minimum ва value параметрларнинг маъноси Slider ники кабидир. Progress Bar ўрнатилганда бу параметларнинг қийматлари мос равишда 100, 0, 0 сонларга тенг бўлади. Программанинг мазмунига қараб бу сонларни ўзгартириш ҳам мумкин.
Хоссалар ойнасидаги string бўлимида 0% кўринишдаги ѐзув мовжуд ва у жараѐнинг бажарилган қисмини фоизларда акслантиришни билдиради. Жараѐн фоизларда аксланиши учун хоссалар ойнасидаги stringPainted бўлими фаол бўлиши лозим, акс ҳолда компонентада матн ҳам, фоиз ҳам аксланмайди.
Компонентанинг string бўлимида 0% ўрнига ихтиѐрий матн туриши ҳам мумкин, у ҳолда компонентада шу сатр аксланади.
Энди панелга оддий тугма ўрнатинг .
Фараз қилайлик тугманинг номи B1, тугма устидаги ѐзув Ok ва тугма босилгандаги ҳодисанинг номи B11 бўлсин (3.4.1-расм). В11 ҳодисада Pb1 нинг бажарилишини фоизларда акслантирайлик. Ҳодисанинг программасини қуйидагича ѐзинг.
private void B11(java.awt.event.ActionEvent evt) { class LongProcess extends Thread { public void run() { while ( Pb1.getValue() < Pb1.getMaximum() ) { try {
Pb1.setValue(Pb1.getValue() + 1); sleep((int)(Math.random()*1000));
} catch (Exception ex) { ex.printStackTrace();
} } } } new LongProcess().start();
}







3.4.1-расм.

3.4.2-расм.

3.4.3-расм.

Агар сиз Pb1 нинг хоссалар ойнасида string бўлимидаги 0% ўрнига бирор матн ѐзсангиз, масалан, Salom, у ҳолда фоиз ўрнида шу матн ҳосил бўлади (3.4.2-расм). Бу ҳолда компонента вертикал кўринишда жойлашган.
B11 ҳодисанинг программасига эътибор беринг. У LongProcess номли
ички класс ҳосил қилишдан бошланган ва бу класс Swing нинг кутубхонасида жойлашган Thread номли класснинг меросхўри сифатида яратилмоқда, яъни LongProcess класси Thread классининг методларидан фойдаланиш ҳуқиқига эга. Бу имкониятдан фойдаланиш учун программа бошида import javax.swing.*; буйриғи туриши лозим.
public void run() методи жараѐн индикатори билан асосий программани параллел ишлашини таъминлайди, акс ҳолда асосий программа иши якунлангандан кейингини жараѐн индикатори ишлайди. Бу мақсадга мувофиқ эмас. Чунки жараѐн индикаторининг вазифаси асосий программанинг ишлаш ҳолатини у ѐки бу кўринишда акслантиришдан иборат.
В11 ҳодиса учун асосий программа
while(Pb1.getValue() < Pb1.getMaximum() )
операторининг ишини бошқаришдан, яъни Pb1 жараѐн индикаторининг жорий қиймати унинг максимал қийматига етганча такрорлашдан иборатдир.
Бу иш setValue ва getValue() методлари ѐрдамида амалга оширилган.
sleep((int)(Math.random()*1000)); буйруғи жараѐн ишини маълум миқдорда секинлаштириш (пауза), яъни кузатиш имкониятини беради. Бу буйруқ ўрнига такрорлаш буйруқларидан ҳам фойдаланиш мумкин.
start() методи Thread класснинг методларидан бири бўлиб, LongProcess класси меросхўр сифатида ундан фойдаланиши ҳуқуқига эга. Бу метод run() методи билан бир пайтда ишга тушади (new
LongProcess().start();).

Download 0,74 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
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