이 Jpanel은 이미지를 배경으로 동적으로 로드할 수 있습니다.
다음과 같이 코드 코드를 복사합니다.
import java.awt.Graphics;
java.awt.Image 가져오기;
import java.awt.Toolkit;
import javax.swing.JPanel;
/**
* 이미지를 배경으로 동적으로 로드할 수 있는 Jpanel
*/
공개 클래스 ImagePanel은 JPanel을 확장합니다.{
이미지임;
//생성자는 Jpanel의 크기를 결정합니다.
공개 ImagePanel(이미지 im) {
this.im = 메신저;
//패널의 크기를 조정할 수 있기를 바랍니다.
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setSize(너비, 높이);
}
//배경 그리기
@보수
protected void PaintComponent(그래픽 g) {
// 화면 지우기
super.paintComponent(g);
g.drawImage(im, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
JPanel 패널에서 배경 이미지를 설정하는 또 다른 예
다음과 같이 코드 코드를 복사합니다.
import java.awt.*;
import javax.swing.*;
공개 클래스 데모는 JFrame을 확장합니다.
{
공개데모()
{
super("제목");
NewPanel p = new NewPanel();
this.getContentPane().add(p); //JFrame에 패널 추가
this.setSize(596,298); //초기 창 크기
this.setLocationRelativeTo(null); //창이 중앙에 오도록 설정합니다.
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
공개 정적 무효 메인(문자열[] 인수)
{
새로운 데모();
}
NewPanel 클래스는 JPanel을 확장합니다.
{
공개 NewPanel()
{
}
공공 무효 페인트 구성 요소(그래픽 g)
{
정수 x=0,y=0;
java.net.URL imgURL=getClass().getResource("test.jpg");
//test.jpg는 Demo.java와 동일한 디렉토리에 있는 테스트 이미지입니다.
ImageIcon 아이콘=새 ImageIcon(imgURL);
g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,this);
동안(사실)
{
g.drawImage(icon.getImage(),x,y,this);
if(x>getSize().width && y>getSize().height)break;
//이 코드는 창이 그림보다 클 때 그림이 여전히 전체 창을 덮을 수 있는지 확인하는 것입니다.
if(x>getSize().width)
{
x=0;
y+=icon.getIconHeight();
}
또 다른
x+=icon.getIconWidth();
}
}
}
}