메신저로 과제물 용 자바 카드 게임을 만들고 문제가 발생했습니다.자바 스윙 카드 게임 오류
아래 코드는 다른 클래스입니다.
cgp 클래스. 내가 버튼을 클릭하고 이동() 메서드를 호출 할 때
public class DisplayableCard extends Card implements Displayable {
public int x,y;
private Image image;
private String imageFilename = "";
public DisplayableCard(String s,int x,int y) {
imageFilename = s;
this.x =x;
this.y=y;
}
public void display(Graphics g) {
image = new ImageIcon(getClass().getResource(imageFilename)).getImage();
g.drawImage(image, x, y, null); //ERROR HERE
}
게임은 오류가 발생합니다 -
private CardGamePanel cgp;
private JButton btnD = new JButton("Flip");
private Thread repaintThread;
public void init()
{
cgp = new CardGamePanel();
JPanel panel2 = new JPanel();
panel2.add(btnD);
btnD.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
cgp.go();
}
});
add(cgp, BorderLayout.CENTER);
add(panel2, BorderLayout.SOUTH);
setSize(500,500);
}
이 JApplet에
private DisplayableDeck deck = new DisplayableDeck("b1fv.png");
DisplayableCard[] cards = new DisplayableCard[10];
private Thread[] theThreads = new Thread[2];
private int[] players = new int[2];
private Deck D = new Deck();
int count = 0;
Graphics g;
CardGamePanel()
{
D.buildDeck();
for(int i=0;i<cards.length;i++)
{
Random r = new Random();
int num1 =r.nextInt(52);
cards[i] = new DisplayableCard("1.png",30,30);
}
}
public void go()
{
if(count < 9)
{
cards[count].display(g); //error here
}
count ++;
}
간단한 클래스를 확장합니다. 오류 코드 내부에 표시되는 위치를
오류
Exception in thread "AWT-EventQueue-1"
java.lang.NullPointerException
at DisplayableCard.display(DisplayableCard.java:16)
at CardGamePanel.go(CardGamePanel.java:31)
at simple$1.actionPerformed(simple.java:24)
필자가 썼다. 어느 부분이 잘못
정말 확실하지 : 어떤 도움이 많이 감사이야 :)
스택 트레이스, 제발 – bowmore
예외 스레드 "AWT-EventQueue의-1"java.lang.NullPointerException이의 DisplayableCard.display (DisplayableCard.java:16) CardGamePanel.go에서 \t (CardGamePanel.java:31)에서 \t \t 간단한 $ 1.actionPerformed (simple.java:24) – user2291903
어디에서 카운트를 정의합니까? 나는 당신의 코드에서 어디에도 그것을 보지 못한다. – Vinnie