728x90
728x90
JPanel 클래스의 paint 메서드
- JPanel 클래스를 상속받아, paint 메서드를 재정의해서 그림을 그릴 수 있음
# 도형 그리기
// JFrame을 상속받은 클래스의 외부 or 내부에 선언해서 사용
class 클래스명 extends JPanel {
// paint 메서드를 재정의해서 사용함
@Override
public void paint(Graphics g) {
super.paint(g);
// fillRect : 채운 사각형
// 사각형 그리기
g.drawRect(x좌표, y좌표, 너비, 높이);
// 둥근 사각형 그리기
g.drawRoundRect(매개변수);
// 문자열 넣기
g.drawString("문자열", x좌표, y좌표);
// 선 그리기
g.drawLine(x좌표1, y좌표1, x좌표2, y좌표2);
// 원 그리기
g.drawOval(x좌표, y좌표, 너비, 높이);
// 곡선 그리기
g.drawArc(x좌표, y좌표, 너비, 높이, 시작점각도, 그릴각도);
// 시작점 각도는 →가 0도
}
}
// 해당 클래스를 멤버변수로 선언해 인스턴스화한 후,
// add 메서드로 추가하면 그림이 그려짐
- 예제 : https://young0105.tistory.com/69
# 이미지 삽입하기
// JFrame을 상속받은 클래스의 외부 or 내부에 선언해서 사용
class 클래스명 extends JPanel {
// 이미지 변수 선언
private Image 이미지명;
// 생성자
public 클래스명() {
// 이미지 가져오기 (같은 폴더여야 경로 설정 없이 가져올 수 있음)
이미지명 = new ImageIcon("경로/파일명.확장자").getImage();
}
// paint 메서드를 재정의해서 사용함
@Override
public void paint(Graphics g) {
super.paint(g);
// 이미지 삽입
g.drawImage(이미지명, x좌표, y좌표, 너비, 높이, null);
}
}
// 해당 클래스를 멤버변수로 선언해 인스턴스화한 후,
// add 메서드로 추가하면 그림이 그려짐
- 예제 : https://young0105.tistory.com/79
# 다시 그리기
// 새로고침과 같은 역할 (paint 메서드를 다시 호출함)
repaint();
320x100
반응형
'Java > Swing (GUI)' 카테고리의 다른 글
[Java/Swing] JLabel 클래스 : 이미지 관련 (0) | 2023.02.16 |
---|---|
[Java/Swing] 이미지 삽입하기 (0) | 2023.02.14 |
[Java/Swing] 패널 (Panel) (0) | 2023.02.14 |
[Java/Swing] 패널 - 영역 분리하기 (0) | 2023.02.14 |
[Java/Swing] 컴포넌트 (Component) (0) | 2023.02.14 |