Muloqot oynalari va ularning turlari
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: Ma’lumot berish dialog oynalar - foydalanuvchiga biron bir ma’lumot ko’rsatadi va odatda OK tugmasiga ega;
Tasdiqlash dialog oynalar - foydalanuvchidan biron bir savol so’raydi va odatda Yes, No, Cancel tugmalarga ega;
Ma’lumot kiritish dialog oynalar - foydalanuvchidan biron bir matn kiritishni so’raydi;
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"); 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: