Vẽ Hình Nền Trên JFrame | Võ Văn Hải's Blog

01 package gui;

02

03 import java.awt.*;

04

05 import javax.swing.ImageIcon;

06 import javax.swing.JButton;

07 import javax.swing.JFrame;

08 import javax.swing.JPanel;

09 import javax.swing.JScrollPane;

10

11 public class PaintFrame extends JFrame

12 {

13 private static final long serialVersionUID = 1L;

14 JScrollPane scrollPane;

15 ImageIcon icon;

16

17 public PaintFrame()

18 {

19 icon = new ImageIcon(“images/MU.png”);

20

21 JPanel panel = new JPanel()

22 {

23 public void paintComponent(Graphics g)

24 {

25 // Trường hợp 1: Hiển thị hình ảnh với kích cỡ đầy đủ

26 //g.drawImage(icon.getImage(), 0, 0, null);

27 // Trường hợp 2: Co giãn kích thước hình ảnh lớn bằng kích thước JFrame

28 Dimension d = getSize();

29 g.drawImage(icon.getImage(), 0, 0, d.width, d.height, null);

30 // Trường hợp 3: Cố định vị trí hình ảnh trong scroll pane

31 // Point p = scrollPane.getViewport().getViewPosition();

32 // g.drawImage(icon.getImage(), p.x, p.y, null);

33 setOpaque( false );

34 super.paintComponent(g);

35 }

36 };

37 ////vẽ 1 button lên JFrame để thử

38 JButton button = new JButton( “Hello world” );

39 panel.add( button );

40

41 scrollPane = new JScrollPane( panel );

42 setContentPane( scrollPane );

43 }

44

45 public static void main(String [] args)

46 {

47 PaintFrame frame = new PaintFrame();

48 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

49 frame.setSize(300, 300);

50 frame.setVisible(true);

51 }

52 }

Từ khóa » Chèn ảnh Vào Java Swing