저는 GUI 작성에 익숙하지 않아서 이클립스 용 윈도우 빌더를 사용하기로 마음 먹었습니다. 나는 검색을 해왔지만 내 "메뉴"에 배경 이미지를 추가하는 좋은 방법을 찾지 못했습니다.jPanel에 대한 배경 이미지가 작동하지 않습니다.
public Menu() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(50, 50, 300, 250); //Dimensiones
contentPane = new JPanel() { //Imagen de Fondo
public void paintComponent(Graphics g) {
Image img = Toolkit.getDefaultToolkit().getImage(
Menu.class.getResource("/imgs/rotom.jpg"));
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
};
그리고 다음과 같은 클래스를 추가 : 예를 들어 나는이 시도
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
그러나 아무 소용이 윈도우가 지금까지 내 코드는 단지 하나의 표준 WindowsBuilder 요리사, 그 흐린 회색으로 남아
당신을 위해 4 개의 버튼을 더했습니다. 그러나 나는 그들이 여기에서 중요하다고 생각하지 않습니다. 내가 추가 한 코드가 jPanel의 paintComponent() 메소드를 오버라이드해서 이미지를 그려야하지 않습니까?메뉴의 클래스가 내 프로젝트의 패키지에 있고 이미지가 imgs 패키지 내에 있으며 같은 프로젝트 내에 있습니다.
미리 감사드립니다. 당신은 배경 이미지의 크기를 조정하거나 효과를 적용에 관심이 있다면
페인트 메서드에서 리소스를로드하려고 시도하지 마십시오. 그들을 클래스 속성으로로드하고 단순히 페인트로 그리십시오. –
@AndrewThompson 미안하지만 나는 이것에 대해 아주 새로운 것입니다. 당신이 나에게 모범을 보여줄 수 있다고 생각합니까? –
이미지를로드하는 데는'ImageIO.read (URL)'을 사용하는 것이 좋습니다. 왜냐하면 더 많은 피드백시 오류가 발생하기 때문입니다. –