webForumDet fria alternativet

Rita ut symboler på rityta

2 svar · 551 visningar · startad av erciz

ercizMedlem sedan maj 20011 826 inlägg
#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?

ChoronzonMedlem sedan aug. 20011 346 inlägg
#2

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

ercizMedlem 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...

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