Kif kafedrasi Doklat ishi Mavzu: Axborot texnologiyalarining hozirgi davrdagi ahamiyati va dasturlash tillari



Yüklə 371,58 Kb.
səhifə3/3
tarix24.07.2023
ölçüsü371,58 Kb.
#137292
1   2   3
613-22 guruh Doklat

JAVA: SWING
Java/SWING nima – JAVA uchun GUI Framework
• JAVA dasturlarini “look and feel” holatiga keltirish
• Java Foundation Classes (Sun Microsystems) bir qismi
• IFC (Netscape) va JFC (Sun Microsystems) qo’shilgani
• Java Standard Edition 1.2 versiyasidan boshlab paket shaklida qo’shilgan
• GUI controllar java dastur orqali generatsiya qilinadi
• Ko’rinishi va funksionallkin jihatidan Windows, Mac va Linux OS’laridaka
Java Swing class iearxiyasi


Swing API 18 ta public paketlardan iborat

javax.accessibility

javax.swing.plaf

javax.swing.text

javax.swing

javax.swing.plaf.basic

javax.swing.text.html

javax.swing.border

javax.swing.plaf.metal

javax.swing.text.html.parser

javax.swing.colorchooser

javax.swing.plaf.multi

javax.swing.text.rtf

javax.swing.event

javax.swing.plaf.synth

javax.swing.tree

javax.swing.filechooser

javax.swing.table

javax.swing.undo

SWING Layots
AWT va Swing klaslarining layout manager’lari:
BorderLayout
BoxLayout
CardLayout
FlowLayout
GridBagLayout
GridLayout
GroupLayout
SpringLayout
Java/SWING BorderLayot
BorderLayout

Har bir content pane boshlang’ichda BorderLayout inisalizatsiya qilinadi. BorderLayout componentlarni 5 ta maydonga qo’yadi: top, bottom, left, right, va center.
1.4. Dasturdan natija olish, uni taxlildan o’tkazish va Tizimli dasturiy taminotdan foydalanish texnologiyasi.

import javax.swing.*;


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

/**
* Created with IntelliJ IDEA.


* User: HUSAN
* Date: 20.01.14
* Time: 0:28
* To change this template use File | Settings | File Templates.
*/
public class Dic extends JFrame {
private void init() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600, 500);
setLayout(new BorderLayout());
setLocationRelativeTo(null);
setResizable(false);
}
private JPanel topPanel; //shimol
private JPanel eastPanel; //sharq
private JPanel westPanel; //g'arb
private JPanel southPanel; //janub

private JLabel label = new JLabel("So'zni kiriting");


private JTextField textField1 = new JTextField(10);
private JTextArea natija1 = new JTextArea("Lug'at" ,15, 20);
private JTextArea natija2 = new JTextArea("Lug'at" ,15, 20);

public Dic(String title) {


super(title);
init();
fillForm();
setVisible(true);
}
private void fillForm() {

final JButton Ok = new JButton("OK");


Ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String suz = textField1.getText();
String bh = suz.substring(0, 1);
File resurs = new File("Eng\\"+bh+".B&M");
File res = new File("Uzb\\"+bh+".txt");

if (!resurs.exists()) {


natija1.setText("Iltimos, faqat lotincha harflardan foydalaning");
System.exit(0);
}
if (!res.exists()) {
natija2.setText("Iltimos, faqat lotincha harflardan foydalaning");
System.exit(0);
}
try {
BufferedReader reader1 = new BufferedReader(new FileReader(resurs));
int i = 0;
StringBuffer buffer1 = new StringBuffer();
StringBuffer buffer2 = new StringBuffer();
while(reader1.ready()) {
String line = reader1.readLine();
if (line.startsWith(suz)) {
buffer1.append(line).append("\n");
i++;
}
if (i==30) break;
}
natija1.setText(buffer1.toString());
BufferedReader reader2 = new BufferedReader(new FileReader(res));
int j = 0;
while(reader2.ready()) {
String line = reader2.readLine();
if (line.startsWith(suz)) {
buffer2.append(line).append("\n");
j++;
}
if (j==30) break;
}
natija2.setText(buffer2.toString());
} catch (FileNotFoundException e2) {
e2.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
} catch (IOException e2) {
e2.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
});
JLabel label1 = new JLabel("English - Uzbek ");
JLabel label2 = new JLabel(" Uzbek - English");

natija1.setLineWrap(true); //faqat pastga tushadi


JScrollPane scrollPane1 = new JScrollPane(natija1);
scrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
add(scrollPane1);

natija2.setLineWrap(true);


JScrollPane scrollPane2 = new JScrollPane(natija2);
scrollPane2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
add(scrollPane2);

topPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 20));


topPanel.add(label);
topPanel.add(textField1);
topPanel.add(Ok);
add(topPanel, BorderLayout.NORTH);

westPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 20));


westPanel.add(scrollPane1);
add(westPanel, BorderLayout.WEST);

eastPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 20));


eastPanel.add(scrollPane2);
add(eastPanel, BorderLayout.EAST);

southPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 20));


southPanel.add(label1);
southPanel.add(label2);
add(southPanel, BorderLayout.SOUTH);
}
}
Dasturning main qismi

import javax.swing.*;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* Created with IntelliJ IDEA.
* User: HUSAN
* Date: 20.01.14
* Time: 0:29
* To change this template use File | Settings | File Templates.
*/
public class Main {
public static void main(String[] args) throws ClassNotFoundException, UnsupportedLookAndFeelException, InstantiationException, IllegalAccessException {

UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");


Dic dic = new Dic("Lug'at");
JMenuBar menuBar = new JMenuBar();
JMenu fayl = new JMenu("Fayl");
JMenuItem chiqish = new JMenuItem("Chiqish");
chiqish.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
JCheckBoxMenuItem item = new JCheckBoxMenuItem("Power Save Mode");
fayl.add(item);
fayl.addSeparator();
fayl.add(chiqish);
JMenu tahrir = new JMenu("Tahrirlash");
JMenu servis = new JMenu("Servis");
JMenu oyna = new JMenu("Oynalar");
JMenu yordam = new JMenu("Yordam");
menuBar.add(fayl);
menuBar.add(tahrir);
menuBar.add(servis);
menuBar.add(oyna);
menuBar.add(yordam);
dic.setJMenuBar(menuBar);
}
}




XULOSA
Kurs ishini bajarish davomida quyidagi xulosalarga ega bo'ldim: bularga qism dasturlarni yaratish, ob'ekt xususiyatlari bilan ishlash, sinflarni shakllantirish kabi tushunchalarni o'zlashtirish .


Ushbu kurs ishida yuqorida ta'kidlab o'tilgan ma'lumotlarni o'zlashtirish bilan bir qatorda JAWA va shu kabi dasturlash tillarida sinflar va ob'ektlar, sinflar orasidagi munosabatlar, ob'eklarga qiymatlarni o'zlashtirish va ulardan foydalanish kabi tushunchalar o'zlashtirildi.
Lug’at yaratishda Jawa muhitidan unumli foydalanildi. Natijalar esa Console rejimida chiqarildi.

Foydalanilgan adabiyotlar:



  1. Майкл Томас, Пратик Пател, Алан Хадсон, Доналд Болл(мл.) Секреты программирования для Internet на Java.- Ventana Press, Ventana Communications Group, U.S.A.,1996, Издательство "Питер Пресс", 1997

  2. Аарон И.Волш Основы программирования на Java для World Wide Web.- IDG Books Worldwide,Inc.,1996, Издательство "Диалектика",1996

  3. Кен Арнольд, Джеймс Гослинг Язык программирования Java.- Addison-Wesley Longman,U.S.A.,1996, Издательство "Питер-Пресс", 1997

  4. Нейл Бартлетт, Алекс Лесли, Стив Симкин Программирование на Java. Путеводитель.- The Coriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996

  5. Крис Джамса Библиотека программиста Java.- Jamsa Press, 1996, ООО "Попурри", 1996



Yüklə 371,58 Kb.

Dostları ilə paylaş:
1   2   3




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin