Samarqand davlat universiteti raqamli texnologiyalar fakulteti optimal boshqaruv usullari kafedrasi



Yüklə 1,58 Mb.
səhifə55/79
tarix14.12.2023
ölçüsü1,58 Mb.
#179928
1   ...   51   52   53   54   55   56   57   58   ...   79
Java MAJMUA

Dialog oynalar

Dialog oynalar foydalanuvchi interfeysining standart elementi xisoblanib foydalanuvchiga biron bir ma’lumot berish yoki foydalanuvchidan biron bir savol so’rash uchun ishlatiladi. Dasturlarda dialog oynalar ko’p ishlatilganligi sababli Swing o’rami oldindan tayyorlangan dialoglar to’plamini o’z ichiga oladi. Dialog oynalar JOptionPane klassining statik metodlari yordamida yaratilishi mumkin. Ushbu klass dialog oynalarini to’rt guruhga ajratadi:
1. Ma’lumot berish dialog oynalar – foydalanuvchiga biron bir ma’lumot ko’rsatadi va odatda OK tugmasiga ega;
2. Tasdiqlash dialog oynalar – foydalanuvchidan biron bir savol so’raydi va odatda Yes, No, Cancel tugmalarga ega;
3. Ma’lumot kiritish dialog oynalar – foydalanuvchidan biron bir matn kiritishni so’raydi;
4. Maxsus dialog oynalar – istalgan elementni joylashtirish imkonini beradi.

Ma’lumot berish dialog oynasi JOptionPane klassining showMessageDialog() metodi yordamida yaratiladi. Masalan, quyidagi dastur ma’lumot berish dialog oynasini chiqarib beradi.


import javax.swing.*;
public class DialogTest1
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
JOptionPane.showMessageDialog(frame, "Dastur ishga tushirildi");
}
}

JOptionPane klassi yordamida yaratilgan ma’lumot berish dialog oynasi
Tasdiqlash dialog oynasi JOptionPane klassining showConfirmDialog() metodi yordamida yaratiladi. showConfirmDialog() metodi foydalanuvchi bosgan tugmaga asosan butun son qaytaradi. Quyidagi dastur tasdiqlash dialog oynasini chiqarib, tugmaLabel yozuvini bosilgan tugma asosida o’zgartirib beradi.
import javax.swing.*;
public class DialogTest2
{public static void main(String[] args)
{
JFrame frame = new JFrame("Dialog Test 2");
JPanel panel = new JPanel();
JLabel label = new JLabel("Dialog oynasida bosilgan tugma: ");
JLabel tugmaLabel = new JLabel(" ");
panel.add(label);
panel.add(tugmaLabel);
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
int i = JOptionPane.showConfirmDialog(frame, "Fayl saqlansinmi?");
if(i==0) tugmaLabel.setText("Yes");
if(i==1) tugmaLabel.setText("No");
if(i==2) tugmaLabel.setText("Cancel");
}}
Dastur chiqarib bergan tasdiqlash dialog oynasi quyida keltirilgan:

JOptionPane klassi yordamida yaratilgan tasdiqlash dialog oynasi
Ma’lumot kiritish dialog oynasi JOptionPane klassining showInputDialog() metodi yordamida yaratiladi. showInputDialog() metodi foydalanuvchi kiritgan matnini qaytaradi. Quyidagi dastur ma’lumot kiritish dialog oynasini chiqarib, matnLabel yozuvini kiritilgan matn asosida o’zgartirib beradi.
import javax.swing.*;
public class DialogTest3
{
public static void main(String[] args)
{
JFrame frame = new JFrame("Dialog Test 3");
JPanel panel = new JPanel();
JLabel label = new JLabel("Kiritilgan matn: ");
JLabel matnLabel = new JLabel(" ");
panel.add(label);
panel.add(matnLabel);
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
String s = JOptionPane.showInputDialog(frame, "Fayl nomini kiriting");
matnLabel.setText(s);
}
}
Dastur quyidagi ma’lumot kiritish dialogini chiqarib beardi:

JOptionPane klassi yordamida yaratilgan ma’lumot kiritish dialog oynasi
Maxsus dialog oynasi JOptionPane klassining showOptionDialog() metodi yordamida yaratiladi. Ushbu dialog oynasiga istalgan elementlarni joylashtirib olish mumkin. Quyidagi dastur avtorizatsia dialog oynasini yaratib beradi.
import javax.swing.*;
public class DialogTest4
{
public static void main(String[] args)
{
JFrame frame = new JFrame("Dialog Test 4");
JPanel panel = new JPanel();
JLabel matnLabel = new JLabel(" ");
panel.add(matnLabel);
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
JTextField userField = new JTextField();
JPasswordField passField = new JPasswordField();
String message = "Foydalanuvchi nomi va parolini kiriting";
JOptionPane.showOptionDialog(frame, new Object[] {message, userField, passField}, "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
String password = "";
for(char ch: passField.getPassword())
password = password + ch;
matnLabel.setText("Foydalanuvchi: " + userField.getText() + "; Parol: " + password);
}
}
Dastur quyidagi dialog oynani chiqarib beradi:

JOptionPane klassi yordamida yaratilgan va istalgan elementlarni
joylashtirish mumkin bo’lgan dialog oynasi
Dastur ishlashi davomida biron bir faylni ochish yoki saqlash extiyoji paydo bo’ladi. Ushbu maqsadda Java dasturlash tili fayllar bilan ishlovchi dialog oynasini yaratib beruvchi JFileChooser klassini taklif etadi. Faylni ochish dialog oynasini chiqarish uchun JFileChooser klassining showOpenDialog() metodidan, faylni saqlash dialog oynasini chiqarish uchun showSaveDialog() metodidan foydalanish mumkin.
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(frame);
Fayl tanlash dialog oynasi ochilganda fayl tanlash uchun ma’lum papka ochilishi kerak bo’lsa JFileChooser klassining setCurrentDirectory() metodidan foydalanish mumkin.
chooser.setCurrentDirectory(new File("G:\\book\\code\\"));
Foydalanuvchi tanlagan faylni olish uchun getSelectedFile() metodidan foydalanish mumkin.
File file = chooser.getSelectedFile();
Quyida fayl tanlash dialog oynasi keltirilgan:

JFileChooser klassi yordamida yaratilgan fayl tanlash dialog oynasi
Ushbu fayl tanlash dialog oynasi quyidafi dastur tomonidan yaratilgan:
import java.awt.*;
import javax.swing.*;
import java.io.*;
public class FileTanlash
{
public static void main(String[] args)
{
JFrame frame = new JFrame("File Tanlash");
JPanel panel = new JPanel();
JLabel label = new JLabel("");
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("G:\\book\\code\\"));
panel.add(label);
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,200);
frame.setVisible(true);
chooser.showOpenDialog(frame);
String s = chooser.getSelectedFile().getPath();
label.setText(s);
}
}
Bu yerda Fayl klassi diskda joylashgan faylni ifoda etadi. Fayl manzilini ko’rsatishda papkalarni ajratuvchi “\” simvoli “\\” ko’rinishda yozilishi kerak. Fayl klassi java.io o’ramida joylashgan bo’lib, ushbu o’ram dastur boshida import qilingan.
Swing o’rami rang tanlash tayyor dialog oynasini xam taklif etadi. Rang tanlash dialog oynasini JColorChooser klassi yordamida yaratib olish mumkin. JColorChooser klassning showDialog() statik metodi dialog oynani chiqarib beradi.
Color c = JColorChooser.showDialog(frame, "Rang tanlash", null);
showDialog() metodi tanlangan rangni qiymat sifatida qaytaradi. Metodning uchunchi parametri joriy tanlangan rangni belgilaydi. Joriy belgilangan rang bo’lmasa null qiymati berilishi mumkin.
Quyida rang tanlash dialog oynasi keltirilgan:

JColorChooser klassi yordamida yaratilgan rang tanlash dialog oynasi
Ushbu oyna quyidagi dastur yordamida yaratilgan:
import java.awt.*;
import javax.swing.*;
public class RangTanlash{
public static void main(String[] args)
{
JFrame frame = new JFrame("Rang Tanlash");
JPanel panel = new JPanel();
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize(300,200);
frame.setVisible(true);
Color c = JColorChooser.showDialog(frame, "Rang tanlash", null);
panel.setBackground(c);
}}




  1. Yüklə 1,58 Mb.

    Dostları ilə paylaş:
1   ...   51   52   53   54   55   56   57   58   ...   79




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