오랜된 포스팅/Java

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

Toycode 2018. 6. 24. 20:31



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