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
Dostları ilə paylaş: