본문 바로가기

Dev Ref/Java

JFrame/swing 배경이미지 넣는 방법



JFrame 배경이미지 삽입방법

이번 포스팅은 배경화면을 넣는 소스 코드를 포스팅하겠습니다.


사용하고자하는 사진의 크기는


panel의 크기와 동일하도록 지정해주어야하고


단점은.. 창의 크기에 따라 반응하여


크기가 조절되었으면 했지만..


아직, 그런 기능을 찾아보지 못 했기에.. 다음에 꼭! 추가 수정을 하겠습니다.





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package view;
 
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
 
public class loginView extends JFrame implements ActionListener {
    BufferedImage img = null;
 
    public loginView() {
        setTitle("배경화면 테스트");
 
        // 배경 Panel
        JLayeredPane layeredPane = new JLayeredPane();
        layeredPane.setSize(480640);
        layeredPane.setLayout(null);
 
        try {
            img = ImageIO.read(new File("C:\\Users\\Hyeonseok\\Desktop\\main.jpg"));
        } catch (IOException e) {
            JOptionPane.showMessageDialog(null"이미지 불러오기 실패");
            System.exit(0);
        }
        // 이미지 삽입
        myPanel panel = new myPanel();
        panel.setSize(480,640);
        layeredPane.add(panel);
 
        setLayout(null);
 
        add(layeredPane);
 
        setBounds(720220480640);
        setVisible(true);
        setResizable(false); // 창크기 수정불가
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
 
    class myPanel extends JPanel {
        public void paint(Graphics g) {
            g.drawImage(img, 00null);
        }
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
    }
 
    public static void main(String[] args) {
        new loginView();
    }
 
}
 
cs