webForumDet fria alternativet

Rita ut symboler på rityta

Java

2 svar · 551 visningar · startad av erciz

Medlem sedan maj 20011 826 inlägg
Frågan#1

Jag håller på och trollar lite med ett litet ritprogram. Jag har en rityta (JPanel), där jag vill rita ut symboler på de ställen där jag klickar. Hur gör jag detta på bästa sätt?

I ritytan sparar jag alla symboler i en länkad lista med positionen. Sen gör jag en paintComponent() för ritytan och loopar igenom listan med symboler och ritar ut var och en.

Nu tänkte jag lägga symbolerna i egna klasser, och göra en egen paintComponent metod för varje symbol. Hur ritar jag då ut symbolerna på bästa sätt, anropa deras egen paintComponent manuellt från ritytans paintComponent, eller finns det något snyggare sätt? Ska man verkligen anropa paintComponent manuellt på detta vis?

Medlem sedan aug. 20011 346 inlägg
#2

Painting in AWT and Swing kanske kan ge dig nåt

Medlem sedan maj 20011 826 inlägg
#3

Tack! det var en bra artikel, men gav bara några vinkar i rätt riktning.

Jag har kommit på att mina "symboler", inte är componenter. Det känns lite väl onödigt, de är ju bara grafiska element. Då blir både paintComponent(), paint() och repaint() ganska irrellevant för mig.

Men jag måste iallafall ha nån form av paint-metod i mina symboler, denna får anropas från min rityta, som är den enda komponenten, från dess paintComponent()-metod. Blir det här verkligen bra? Finns det något smidigt sätt att göra "lättviktskomponenter" eller har jag tänkt rätt? ...känns ju lite omständigt att loopa igenom alla symboler när jag ska repaint:a min rityta...

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)