javaswing

Java Swing-01 Dastlabki dasturlar

JAVA SWING DASTURLAR
Bu bobda Swing uskunalaridan foydalanib o’zimizning dastlabki dasturlarimizni yozamiz. Misol tariqasida yozilgan kodlarimizni imkon qadar sodda qilib yozishga harakat qilamiz.

BIZNING BIRINCHI MISOLIMIZ
Birinchi misolimizda ekranga oddiy oyna chiaramiz.


[highlighter]

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class OddiyMisol extends JFrame {
   
 public SimpleExample() {
       setTitle("Oddiy Misol");
       setSize(300, 200);
       setLocationRelativeTo(null);
       setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
       SimpleExample ex = new SimpleExample();
       ex.setVisible(true);
       }
    });
   }
}

**********************************

Bu kod judayam qisqa bo’lishiga qaramasdan, dastur oynasi juda ko’p ishni qilishi mumkin. U o’lchamini o’zgartirish, ekranning maksimum, minimum joyni egallash hususiyatlariga ega. Bu murakkablilarni barchasi dastur yaratuvchisidan berkitilgan.

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

Bu yerda biz kodimizda ishlatiladigan Swing klaslarini import qilyapmiz.

public class OddiyMisol extends JFrame {

Oddiy misol klasi JFrame uskunasidan meros(nasl) oladi. JFrame bu boshqa uskunalarni o’ziga joylashtiradigan asosiy maydondir.

setTitle("Oddiy misol");

Bu yerda biz setTitle() metodidan foydalanish orqali oynaga sarlavha qo’ydik.

setSize(300, 200);

Bu qator oynaning o’lchamini eniga 300 piksel, bo’yiga 200 piksel qilib tayinlaydi.

setLocationRelativeTo(null);

Bu qator oynani ekranning markaziga joylashtiradi.

setDefaultCloseOperation(EXIT_ON_CLOSE);

Bu metod oynani sarlavha qismidagi “yopish” tugmasiga chertgan vaqtimizda oyna berkilishini ta’minlab beradi.

SwingUtilities.invokeLater(new Runnable() {
 public void run() {
 SimpleExample ex = new SimpleExample();
 ex.setVisible(true);
 }
 });

Biz o’zimiz yozgan misolimizdagi koddan ob’ekt olib uni ekranda ko’rinadiga holatga keltiryapmiz. invokeLater() metodi dasturni Swing Hodisalar Ketma-ketligiga joylashtiradi. Bu narsa foydalanuvchi muhitining barcha hodisalari paralellikka-bardoshliligini ta’minlash uchun kerak. Boshqacha qilib aytadigan bol’lsak, bu foydalanuvchining grafik muhiti (bundan so’ng FGM deb yuritiladi) ba’zi hollarda osilib qolishining oldini oladi. Bu aslida juda murakkab mavzu, shu sababli ham ayni vaqtda bunga e’tibor qaratishimiz shart emas.

CHIQISH TUGMASI
Misolimizga yangi tugma qo’shaylik. Bu yangi qo’shilayotgan tugmaga bosgan vaqtimizda dastur o’z ishini ya’kunlasin.


[highlighter]
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class misolChiqishTugmasi extends JFrame {
 public misolChiqishTugmasi() {
 initUI();
 }
private void initUI() {
 JPanel panel = new JPanel();
 getContentPane().add(panel);
 panel.setLayout(null);
 JButton chiqishTugmasi = new JButton("Chiqish");
 chiqishTugmasi.setBounds(50, 60, 80, 30);
 chiqishTugmasi.addActionListener(new ActionListener() {
 
 public void actionPerformed(ActionEvent hodisa) {
  System.exit(0);
 }
 });
 panel.add(chiqishTugmasi);
 setTitle("Chiqish tugmasi");
 setSize(300, 200);
 setLocationRelativeTo(null);
 setDefaultCloseOperation(EXIT_ON_CLOSE);
 }
public static void main(String[] args) {
 SwingUtilities.invokeLater(new Runnable() {
 public void run() {
 misolChiqishTugmasi misol = new misolChiqishTugmasi();
 misol.setVisible(true);
 }
 });
 }
 }

 

Biz oynaga JButton qo'yib, u tugmaga (ya'ni "JButton"ga) ish-harakat tinglovchisi qo'shdik.
public misolChiqishTugmasi() {
 initUI();
 }

FGM yasaydigan kod bo’lagini alohida metod ishiga yozish bu ma’qullangan dasturlash tajribasidir.

JPanel panel = new JPanel();
 getContentPane().add(panel);

Biz JPanel komponent yasab, uni JFrame ga qo’shib oldik.

panel.setLayout(null);

Odatda JPanel yasalgan vaqtda u FlowLayout boshqaruvchisi bilan yasaladi. Layout boshqaruvchilari uskunalarning yuzada joylashuvini nazorat qiladi. Agar biz panel.setLayout(null) de yozadigan bo’lsak, u holda o’zimizning komponentlarimizni, o’zimiz istaganvha joylashtirishimiz mumkin bo’ladi va buning uchun setBounds() metodidan foydalanamiz.

JButton chiqishTugmasi = new JButton("Chiqish");
chiqishTugmasi.setBounds(50, 60, 80, 30);

Bu yerda biz tugma yasab setBounds() metodi orqali yasalgan tugmaning joylashuvi va o’lchamini belgilab oldik.

chiqishTugmasi.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent hodisa) {
 System.exit(0);
 }
 });

Biz harakat tinglovchi qo’shdik. Harakat tinglovchi, biz tugma ustida ish bajarganimizda, bizning holatimizda uni bosganimizda ishga tushadi. Tugmaning bosilishi dastur faoliyatini yakunlaydi.

panel.add(chiqishTugmasi);

chiqish tugmasini ko’rsatish uchun, uni panelga qo’shishimiz kerak.

TOOLTIP
“Tooltip”larni dasturning ichki yordam tizimi deb ham atashimiz mumkin. Ular yordamida, Swing ob’ektlarining ustiga sichqoncha kursorini olib borganimizda kichkina to’rtburchak oynachada, joriy ob’ekt nima qilishini yozib ko’rsatib berishimiz mumkin.


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class TooltipMisol extends JFrame {
 public TooltipMisol() {
 initUI();
 }
private void initUI() {
 JPanel panel = new JPanel();
 getContentPane().add(panel);
 panel.setLayout(null);
 panel.setToolTipText("Panel conteyneri");
 JButton tugma = new JButton("Tugma");
 tugma.setBounds(100, 60, 100, 30);
 tugma.setToolTipText("Button (tugma) componenti");
 panel.add(tugma);
 setTitle("Tooltip");
 setSize(300, 200);
 setLocationRelativeTo(null);
 setDefaultCloseOperation(EXIT_ON_CLOSE);
 }
public static void main(String[] args) {
 SwingUtilities.invokeLater(new Runnable() {
 public void run() {
 TooltipMisol misol = new TooltipMisol();
 misol.setVisible(true);
 }
 });
 }
 }

Bu misolda biz freym (ramka, oyna) va tugma ga tooltip o’rnatdik.

panel.setToolTipText("Panel conteyneri");

Tooltipni o’rnatish uchun setToolTipText() metodidan foydalanamiz.

Bu bobda biz bir nechta oddiy Java Swing dasturlariga kod yozdik.

(685 marta o'qilgan, bugun 1 marta o'qildi)

O'xshash maqolalar:

  • Saydullo Abdulkhashimov

    Processing programmasi haqida ma’lumot berilar

    • dasturchi.uz

      jawa swing dasturi dastlabki tehnlogiyalaridan hisoblanib, desktop dasturlar tuzish uchun mo’ljallangan, nasib qilsa kelgusida yana bir nechta darslar bilan ma’lumotlar berib boramiz