JPanel에서 패널 이미지를 얻어오는 방법을 테스트 중입니다
저 코드 두줄이 함수안에 있을때는 널포인터오류를 내면서 작동을 하지 않습니다
하지만 생성자 안에 있을때는 작동을 합니다..
어차피 함수 안에 넣어도 순서대로 똑같이 호출되는데 왜 에러가 나는지 모르겠네요;;
오류내용입니다
코드 전문입니다
package test;
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.*;
public class test
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
GridMember aa = new GridMember();
JPanel label2 = new JPanel()
{
@Override
public void paint(Graphics g)
{
g.drawImage(aa.getView(), 0, 0, this);
}
};
frame.add(label2);
frame.setVisible(true);
frame.setSize(100, 100);
}
}
class GridMember
{
JPanel panel;
BufferedImage img ;
protected GridMember()
{
panel = new JPanel();
panel.add(new JLabel("Hello World"));
panel.setSize(100, 100);
panel.addNotify();
panel.doLayout();
img = new BufferedImage(100, 100, BufferedImage.TYPE_4BYTE_ABGR);
this.panel.paintAll(img.getGraphics());
this.panel.setSize(panel.getPreferredSize());
}
Image getView()
{
return img;
}
}