Ma’lumotlarni Panelda ko’rsatish Java dasturlash tilida Frame boshqa foydalanuvchi interfeysi elementlari uchun konteyner
vazifasini bajaradi. Foydalanuvchi interfeysi elementlari Panel elementiga chiziladi keyin esa
ushbu Panel Frame oynasiga joylashtiriladi.
Panellar
JPanel
klassi yordamida yaratilib ular quyidagi xususiyatlarga ega:
-
ular ustiga elementlar chizish mumkin;
-
ular o’z navbatida konteyner xisoblanib boshqa foydalanuvchi interfeysi elementlarni
joylashtirishi mumkin.
Panel elementida biron bir rasm joylashtirish uchun
JPanel
klassini kengaytirib
painComponent()
metodini qayta yaratish kerak bo’ladi.
paintComponent()
metodi
JPanel
klassini tomonidan
JComponent
klassidan meros qilib olingan bo’lib ushbu metod
Graphics
turidagi elementni argument sifatida qabul qiladi. Quyidagi misolni ko’rib chiqamiz:
import java.awt.*;
import javax.swing.*;
public class MeningRasmim
{
public static void main(String[] args)
{
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(300,200);
MyPanel p = new MyPanel();
f.add(p);
f.setVisible(true);
}
}
class MyPanel extends JPanel
{
public void paintComponent(Graphics g)
{
g.setColor(Color.orange);
g.fillRect(20,20,100,100);
}
}
Ushbu dastur ekranga quyidagi oynani chiqarib beradi:
JPanel
klassining paintComponent()
metodi yordamida chizilgan rasm MyPanel
klassi
JPanel
klassini kengaytirib meros qilib olingan
paintComponent()
metodini
qayta yaratadi.
Graphics
elementi yordamida ko’k rangli, 20,20 nuqtada boshlanadigan va
100x100 o’lchamga ega to’rtburchak chizib olinadi.
MeningRasmim
klassi Frame oynasini yaratadi
va
MyPanel
klassi asosida panel yaratib Framega joylashtiradi.
JPanel
klassining
paintComponent()
metodini qayta yaratib panelga tayyor rasmlarni xam
joylashtirish mumkin. Yuqoridagi
MeningRasmim
dasturda
MyPanel
klassining
paintComponent()
metodini quyidagiga o’zgartiramiz:
public void paintComponent(Graphics g)
{
Image rasm = new ImageIcon(“sumka.png”).getImage();
g.drawImage(rasm,3,4,this);
}
Dastur quyidagi oynani ekranga chiqarib beradi:
JPanel
klassining paintComponent()
metodi yordamida aks ettirilgan rasm JPanel
klassining
paintComponent()
metodi yordamida Panelga matn yozish xam mumkin.
Buning uchun
MeningRasmim
klassida
paintCpmponent()
metodini quyidagiga o’zgartiramiz:
public void paintComponent(Graphics g)
{
g.drawString(“Hello World!”,100,75);
}
Dastur quyidagi oynani ekranga chiqarib beradi:
JPanel
klassining paintComponent()
metodi yordamida aks ettirilgan matn