Я работаю над игрой в блэкджек на Java. У меня есть несколько классов (Card, обувь, плеер и т.д.), а также JComponent определяется следующим образом:Покраска и позиционирование нескольких BufferedImages с использованием JComponent в Java
Public class DisplayCard extends JComponent {
private ArrayList<Card> mCards;
public DisplayCard(){
mCards = new ArrayList<Card>();
}
public void append(ArrayList<Card> newCards){
mCards = newCards;
repaint();
}
public void paintComponent(Graphics g){
for (Card card : mCards) {
g.drawImage(card.getBuffImage(),10,10,null);
}
}
}
В моем классе водителя, у меня есть JPanel (mPlayerPanel). Я добавляю компонент DisplayCard к панели, создаю массив карт и использую append() для обновления списка. Частичная реализация:
DisplayCard playerDisp = new DisplayCard();
Shoe tableShoe = new Shoe(1);
ArrayList<Card> cards = new ArrayList<Card>();
//Adds three cards to arraylist
cards.add(tableShoe.getNextCard());
cards.add(tableShoe.getNextCard());
cards.add(tableShoe.getNextCard());
mPlayerPanel.add(playerDisp,new GridConstraints()); //need "GridConstraints" to appease Intellij
playerDisp.append(cards);
У меня нет ошибок при запуске этого кода. Однако он ничего не нарисовал на mPlayerPanel. Есть ли что-то очевидное, что я делаю неправильно, чтобы эти BufferedImages не рисовали (ПРИМЕЧАНИЕ: я знаю, что если они будут печатать, все они будут друг на друга. Я написал код как тест для рисования BufferedImage с позиционированием).
Заранее спасибо.
Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). –