Je crée un jeu de cartes pour une classe qui nécessite un dealButton pour distribuer une main de cartes et l'afficher dans le cadre. J'ai une boucle qui traverse la main donnée et crée et affiche les cartes correctement, mais quand ce code est déplacé du constructeur et dans ActionListener de dealButton, rien ne s'affiche.Ajout de JButtons en dehors du constructeur JFrame
Existe-t-il un moyen d'ajouter JButtons à l'image en dehors du constructeur?
Voici le code qui devrait afficher les mains:
deck.shuffle();
Hand hands[] = deck.deal(4, 13);
GridBagConstraints handCon1 = new GridBagConstraints();
handCon1.insets = new Insets(0, 0, 0, 0);
handCon1.gridy = 10;
int handSize = hands[0].getCards().length;
Card cards[] = hands[0].getCards();
for(int i = 0 ; i < handSize ; i++){
JButton card = new JButton();
PlayCardListener playCard = new PlayCardListener(deck, cards[i], card);
card.addActionListener(playCard);
card.setIcon(new ImageIcon(cards[i].getImg()));
card.setBorder(null);
handCon1.gridx = i;
add(hand1);
hand1.add(card, handCon1);
Bienvenue sur Stack Overflow! Les questions qui cherchent une aide au débogage («pourquoi ce code ne fonctionne-t-il pas?») Doivent inclure le comportement souhaité, un problème ou une erreur spécifique et le code le plus court nécessaire pour le reproduire dans la question elle-même. Les questions sans énoncé de problème clair ne sont pas utiles aux autres lecteurs. Voir: Comment créer un [mcve]. Vous dites seulement "quand je l'essaie en dehors du constructeur ça ne marche pas". Puis ** postez ** ce code qui ne fonctionne pas. Et la réponse à votre question est: OUI, c'est possible. – GhostCat