JPanel (netbeans를 사용하여 만들었습니다)이 있고 이전 페이지에서 선택한 이미지를 기반으로 이미지를로드해야합니다. 아무도 그 방법을 제안 할 수 있습니까? 또한 JPanel은 내가하려고하는 일을하는 가장 좋은 방법입니까, 아니면 다른 것을 할 수 있습니까?JPanel에서 이미지로드
감사의 말씀 감사합니다 !!
JPanel (netbeans를 사용하여 만들었습니다)이 있고 이전 페이지에서 선택한 이미지를 기반으로 이미지를로드해야합니다. 아무도 그 방법을 제안 할 수 있습니까? 또한 JPanel은 내가하려고하는 일을하는 가장 좋은 방법입니까, 아니면 다른 것을 할 수 있습니까?JPanel에서 이미지로드
감사의 말씀 감사합니다 !!
이미지를 표시하는 가장 쉬운 방법은 JLabel
을 사용하고 setIcon
메서드 (또는 해당 생성자)를 호출하는 것입니다. 아이콘은 ImageIcon
클래스의 생성자 중 하나를 사용하여로드 할 수 있습니다.
예를 들어 http://download.oracle.com/javase/tutorial/uiswing/components/label.html을 참조하십시오.
+1 고마워! – koool
이것은 이미지를 JPanel
에로드하는 방법을 보여주는 샘플 코드입니다. background.jpg
은 JPanel
에로드하는 이미지입니다. 또한이 이미지는 소스에서 사용할 수 있어야합니다.
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ImageTest {
public static void main(String[] args) {
ImagePanel panel = new ImagePanel(
new ImageIcon("background.jpg").getImage());
JFrame frame = new JFrame();
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
class ImagePanel extends JPanel {
private Image img;
public ImagePanel(String img) {
this(new ImageIcon(img).getImage());
}
public ImagePanel(Image img) {
this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null);
}
}
+1 감사합니다 !!!!!!! – koool
모든 stackoverflow 페이지의 오른쪽 상단에는 '** 검색 **'이라는 회색 프롬프트가있는 텍스트 상자가 있습니다. 즉,이 상자를 클릭하고 단어 (예 : 'image jpanel')를 입력하고 리턴 키를 누르십시오. 웹 페이지가 _magically_ 다시로드하고 이러한 단어가 포함 된 질문 목록 (및 답변!)을 보여줍니다. 나는 당신을 위해 이것을 돌보고 두 번째 히트를 선물하게되어 자랑 스럽습니다 : http://stackoverflow.com/questions/1242581/display-a-jpg-image-on-a-jpanan--) – bobndrew