Thursday, February 2, 2017

Cố định hoặc Co giãn kích thước ảnh bằng kích thước Frame Java với NetBeans Swing Gui

Cố định hoặc Co giãn kích thước ảnh bằng kích thước Frame Java với NetBeans Swing Gui


// Tr??ng h?p 1: C? ??nh v? trí ?nh v?i kích th??c ??y ??
g.drawImage(icon.getImage(), 0, 0, null);

// Tr??ng h?p 2: Co giãn kích th??c ?nh b?ng kích th??c Frame
Dimension d = getSize();
g.drawImage(icon.getImage(), 0, 0, d.width, d.height, null);

// Tr??ng h?p 3: C? ??nh v? trí ?nh trong Scroll Panel
Point p = scrollPane.getViewport().getViewPosition();
g.drawImage(icon.getImage(), p.x, p.y, null);

Demo làm th? v?i NetBeans Tr??ng H?p 2
1. Trong Project c?a b?n, t?o 1 JFrame Form
2. Trong ô Swing Containers ch?n Panel và kéo vào Frame c?a chúng ta, kéo cho v?a v?i kích th??c Frame

3. Sau khi kéo Panel v?a khít v?i Frame, nh?n chu?t ph?i vào Panel ?ó, ch?n Customize Code

Sau ?ó ta s? có h?p tho?i:

T?i ch? default code, b?n ch?n l?i là Custom creation, sau ?ó ??t chu?t tr??c d?u ; gõ c?p ngo?c {} r?i ??a chu?t vào gi?a c?p ngo?c ?ó. nh?n enter b?n s? ???c nh? hình d??i

Paste ?o?n code ( Co giãn kích th??c ?nh b?ng kích th??c Frame) sau vào gi?a :
ImageIcon icon = new ImageIcon("src/ViSinh/images/bg.png");
    public 
void paintComponent(Graphics g){
        
Dimension d getSize();
        
g.drawImage(icon.getImage(), 00d.widthd.heightnull);
        
setOpaque(false);
        
super.paintComponent(g);
    }  

chú ý thay l?i src/ViSinh/images/bg.png b?ng ???ng d?n ??n file ?nh n?n c?a b?n

C? th? sau b??c trên ta ???c nh? sau:

Gi? chuy?n sang ch? ?? Code, import các th? vi?n c?n thi?t

Xong
(chú ý là ph?i run thì m?i th?y n?n, còn ?? trong project ch? ?? design c?ng ko th?y)

Available link for download