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



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


17-Maruza: Boshqarish komponentalari
Reja:
1. Text Pane компонентаси
2. Spinner компонентаси
3. Slider компонентаси
4. Progress Bar компонентаси
5. Table компонентаси

Text Pane компонентаси


Матнлар билан ишловчи Swing нинг Text Field (бир сатрли) ва Text Area (кўп сатрли) компоненталари билан танишган эдик. Swing нинг Text Pane компонентаси ҳам матнлар билан ишловчи компонента бўлиб, жудда катта имкониятларга эга. Биринчидан, ҳажми жудда катта бўлган матнлар билан (файллар) ишлаш қулай бўлса, иккинчидан матнга ѐки матннинг ихтиѐрий бўлагига ҳар хил стилларни (белгиларнинг ўлчовини, рангини, кўринишини ва ҳ.к. ўзгартириш) қўллаш мумкин. Бундан ташқари бу компонентага матн билан бирга Swing нинг бошқа компоненталарини ҳам ўрнатиш имконияти мавжуд, масалан, Label, Button, Check Box ва бошқаларни. Қуйида бу компонентани қўллаш усуллари билан танишамиз. Бунинг учун:
Янги проект тузинг.
Форма сарловҳасига (title) матн муҳаррири деган ном беринг.
Формага Text Pane ва битта оддий тугма ўрнатинг (3.1.1-расм).
Text Pane ни соддалик учун Tp1 ва тугма босилганда Text Pane га матн ѐзадиган ҳодисани Yoz деб номланг.

3.1.1-расм. 3.1.2-расм.
Yoz ҳодисасининг программасини қуйидагича ѐзинг.
private void Yoz(java.awt.event.ActionEvent evt) { int k;
// Oddiy matn uchun stil
Style oddiy=Tp1.addStyle("Oddiy",null);
StyleConstants.setFontFamily(oddiy, "Arial");
StyleConstants.setFontSize(oddiy, 13);
// Sarlovha uchun stil
Style sarlovha = Tp1.addStyle("Sarlovha ", oddiy);
StyleConstants.setFontSize(sarlovha, 20);
StyleConstants.setBold(sarlovha, true);
// Sarlovha uchun rang
SimpleAttributeSet qizil = new SimpleAttributeSet();
StyleConstants.setForeground(qizil, Color.red);
// Yangi hujjat hosil qilish
StyledDocument doc = Tp1.getStyledDocument(); try { // Hujjatga matn yozish doc.insertString(doc.getLength(), "Ixtiyoriy Sarlovha matni"+"\n", sarlovha); doc.insertString(doc.getLength(), "Bu ixtiyoriy matn bo'lib,"+"\n",oddiy); doc.insertString(doc.getLength(), "Oddiy stilda chop etilgan."+"\n",oddiy); k=doc.getLength();//Joriy holatgacha bo’lgan matnning uzunligi doc.insertString(k, "Yana bitta Sarlovha"+"\n", sarlovha);
// Sarlovhani qismining ranginin o’zgartirish doc.setCharacterAttributes(4, 5, qizil, false); doc.setCharacterAttributes(k, 4, qizil, false);
// Swing komponentalarni hosil qilish va hujjatga joylashtirish JCheckBox check = new JCheckBox("Bu mumkin!"); check.setOpaque(true); Tp1.insertComponent(check);
doc.insertString(doc.getLength(),""+"\n",null);
JRadioButton radio = new JRadioButton("Bu ham mumkin!"); radio.setOpaque(true); Tp1.insertComponent(radio); JButton but=new JButton("Salom"); but.setOpaque(true); doc.insertString(doc.getLength(),""+"\n",null); doc.insertString(doc.getLength()," ",null);
Tp1.insertComponent(but); } catch (Exception ex) { ex.printStackTrace();
}
}
}
Программани ишга туширсак ва тегмани боссак экранда 3.1.2-расм кўринишидаги ойна ҳосил бўлади.
Программада oddiy va sarlovha номли иккита стил яратилган бўлиб, sarlovha стили oddiy стилдан баъзи параметрларни мерос сифатида олган.
Text Pane билан ишлаш жараѐнида албатта бирор ҳужжат яратилган бўлиши керак. Бу ҳужжат StyledDocument doc = Tp1.getStyledDocument(); буйруғи ѐрдами ҳосил қилинган. Бу ҳужжатга маълумот киритиш insertString метод ѐрдамида амалга оширилади. Бу метод
insertString(int offset, String str, AttributeSet a)
кўринишда бўлиб, унда:
offset- int (бутун ва ≥0) кўринишдаги қиймат. Киритилаѐтган матннинг ўрнини билдиради. Мисолда doc.getLength() методи жорий ҳолатдаги doc хужжатнинг узунлигини аниқлайди.
str-String туридаги ўзгарувчи (қиймат) бўлиб, ѐзилиши керак бўлган
матн.
a -AttributeSet туридаги ўзгарувчи (қиймат) бўлиб, ѐзилиши керак бўлган сатрнинг стилини аниқлайди. Агар стил кўрсатилмаса, унинг ўрнида null туриши ҳам мумкин.
Ёзилиши керак бўлган матн янги сатрдан бошланишини дастурчи ўзи таъминлаши лозим. Мисолда бу "\n" ѐрдамида амалга оширилган. doc.setCharacterAttributes(4, 5, qizil, false); методи ѐрдамида
сарловҳанинг маълум қисмлари қизил рангга бўялган. Бу метод setCharacterAttributes(int offset, int length, AttributeSet s, boolean replace)
кўринишда бўлиб, биринчи параметр қайси ўриндан бошлаб бўяшни билдиради ва унинг қиймати ≥0 бўлиши керак. Иккинчи параметр бўялиши керак бўлган матннинг узунлиги. Учинчи параметр танланган рангга мос атрибут. Тўртинчи параметр мантиқий қиймати бўлиб, у агар рост (true) бўлса янги стил қўлланади, акс ҳолда олдинги стилнинг таъсири сақланиб қолади
Программада учта Swing компонента яратилган бўлиб, улар ҳужжатга расмдагидек жойлаштирилган. Шуни таъкидлаш лозимки, агар Swing компоненталар программа йўли билан ҳосил қилинса, у ҳолда маълум пакетлар импорт қилинган бўлиши керак. Мисолда қуйидаги пакетлар импорт қилинган:
import javax.swing.*;- Swing компоненталар учун;
import javax.swing.text.*; - Text Pane туридаги ҳужжат учун; import java.awt.Color;- ранг танлаш учун.
Юқоридаги методлар билан бирга Text Pane учун бошқа методлар ҳам яратилган бўлиб, улардан қуйидагилари билан танишамиз:
getText(ўрни,узунлиги) – ҳужжатнинг кўрсатилган ўрнидан берилган
узунликдаги матнни олиш имкониятини беради.
insertString(ўрин, матн, атрибутлар) – ҳужжатнинг кўрсатилган ўрнидан
атрибутларини сақлаган ҳолда матнни қўйиш имкониятини беради.
remove(ўрни,узунлиги) – ҳужжатнинг кўрсатилган ўриндан берилган
узунликдаги қисмини қирқиш имкониятини беради.
getLength()) – жорий ҳолатда ҳужжатнингмоделида сақланаѐтган матн
узунлигини олиш имкониятини беради.
Text Pane нинг баъзи бир атрибутларини унинг хоссалар ойнасидан ҳам ўрнатиш мумкин. Масалан, белгиланган матн қисмининг рангини хоссалар ойнасининг selectedTextColor бўлимидан, унинг фонини эса selectionColor бўлимидан ўрнатиш мумкин.

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 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