webForumDet fria alternativet

paintImmediately problem

2 svar · 207 visningar · startad av matthew

matthewMedlem sedan okt. 2001166 inlägg
#1

Blackjack

Jag har problem med att skriva ut bilder!
Har en knapp som har en lyssanare, när jag klickar på knappen anropas en metod för att skriva ut spelarens kort:

playerPanel1.paintImmediately(0,0,playerPanel1.getWidth(), playerPanel1.getHeight());

Första gången jag trycker på knappen så händer inget...
Men när jag tryckt 2 ggr så tycker första kortet upp.
Spelaren har fått kort innan jag trycker på knappen!

Någon som är duktig på java och vill hjälpa mig...

public class PlayerPanel extends JPanel
{
	private Player p;
	
	public PlayerPanel(Player p)
    {
    	this.p = p;
    	this.setPreferredSize(new Dimension(300,100));
    }

	public void paintComponent(Graphics g)
	{
        super.paintComponent(g);
	     if (p != null)
        {
           int cards = p.getNumberOfCards();
           Card card;
           for (int i=0;i<cards;++i)
           {
           		card = p.getCard(i);
           		if (card != null)
           			g.drawImage(card.getImage(), i*50, 0, card.getImage().getWidth(null), card.getImage().getHeight(null), null);
           }
		
           //g.drawLine(20, 20, 500, 500);
           //Image namn = Toolkit.getDefaultToolkit().getImage("c1.gif");
           //g.drawImage(namn, 50, 50, 50, 50, this );
        }
	}
}

Ska tilläga att om jag ändrar fönstrets storlek så skrivs kortet ut fast jag bara klickat en gång! Och spelaren får kortet innan utskriften görs!

matthewMedlem sedan okt. 2001166 inlägg
#2

Ändrade g.drawImage(card.getImage(), i*50, 0, card.getImage().getWidth(null), card.getImage().getHeight(null), null);

till

g.drawImage(card.getImage(), i*50, 0, card.getImage().getWidth(null), card.getImage().getHeight(null), this);

och då funkade det...

LimeMedlem sedan sep. 2001961 inlägg
#3

Prexis vad jag just skulle säga... ;-)

/Lime

125 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)