자바 패널에 이미지 넣기
- 프로그래밍/JAVA
- 2019. 12. 30.
250x250
자바 패널에 이미지 넣기
안녕하세요.
오늘은 자바 패널(Panel)에 이미지를 넣어보겠습니다.
- 패널 만들기
- 넣을 이미지 준비
- 코드.
- 실행 결과
1. java swing 패널 만들기.
이 부분은 아래 글을 먼저 보시면 도움이 될겁니다.
[프로그래밍/JAVA] - java swing 창 만들기
아래 코드처럼 기본적은 틀을 먼저 만들어줍니다.
package test01;
import javax.swing.JFrame;
public class Main extends JFrame{
/*생성자입니다.*/
public Main() {
homeframe();
}
public void homeframe() {
setTitle("1");//창의 타이틀
setSize(400,600);//프레임의 크기
setResizable(false);//창의 크기를 변경하지 못하게
setLocationRelativeTo(null);//창이 가운데 나오게
setLayout(null);
setVisible(true);//창이 보이게
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//JFrame이 정상적으로 종료되게
}
public static void main(String[] args){
new Main();
}
}
이렇게 하면 아무것도 없는 프레임이 보일겁니다.
이제 여기에 패널을 추가해보겠습니다.
저는 JPanel을 static으로 해서 page1이라는 이름의 패널을 만들었습니다.
static JPanel page1=new JPanel();
이것을 넣어도 별 차이가 없을겁니다.
이제 이 패널에 이미지를 넣어보겠습니다.
(프레임에 이미지를 넣는 것은 아래 글을 참고해주세요.)
[프로그래밍/JAVA] - 자바 프레임에 이미지 넣기[java swing]
넣을 이미지 준비.
저번 자바 프레임에 이미지 넣기에서 사용했던 이미지를 사용하도록 하겠습니다.
이런식으로 사용할 이미지를 넣어줍니다.
코드.
프레임에 이미지를 추가하는 코드.
/*패널정의*/
static JPanel page1=new JPanel() {
Image background=new ImageIcon(Main.class.getResource("../image/background1.png")).getImage();
public void paint(Graphics g) {//그리는 함수
g.drawImage(background, 0, 0, null);//background를 그려줌
}
};
/*생성자 중간에 끼워넣어야 하는 코드.*/
page1.setLayout(null); //레이아웃 설정하기 위해.
page1.setBounds(0, 0, 400, 600);//패널의 위치와 크기.
add(page1);//프레임에 패널을 추가.
위의 코드를 추가한 전체 코드는 다음과 같습니다.
package test01;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame{
static JPanel page1=new JPanel() {
Image background=new ImageIcon(Main.class.getResource("../image/background1.png")).getImage();
public void paint(Graphics g) {//그리는 함수
g.drawImage(background, 0, 0, null);//background를 그려줌
}
};
public Main() {
homeframe();
}
public void homeframe() {
setTitle("1");
setSize(400,600);//프레임의 크기
setResizable(false);//창의 크기를 변경하지 못하게
setLocationRelativeTo(null);//창이 가운데 나오게
setLayout(null);
setVisible(true);//창이 보이게
page1.setLayout(null);
page1.setBounds(0, 0, 400, 600);
add(page1);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//JFrame이 정상적으로 종료되게
}
public static void main(String[] args){
new Main();
}
}
실행결과.
위의 코드를 실행한 결과입니다.
프레임에 추가한 것과 별로 달라보이지 않지만 패널에 추가되었습니다.
/*글 추가하기*/
이제 버튼을 눌러 다른 이미지를 가진 패널을 불러와보겠습니다.
패널 두개를 만들어서 패널 하나는 숨겨놓고 버튼을 누르면 현재 패널은 보이지 않게 할겁니다.
그 후 다른 패널을 보이게 만드는 방식입니다.