![]() |
[Java] public void paint() wordt niet aangeroepen.
Ik heb drie klassen: NewGameGUI, Playfield en Piece.
NewGameGUI zorgt ervoor dat er Playfield en Piece objecten worden gemaakt en dat deze op hun plek worden gezet. In de Playfield klasse wordt paint() gewoon aangeroepen en wordt het bord netjes getekend. In de Piece klasse, however, gebeurd dit niet. Hier is de code van Piece.java (de rest boeit niet, want die werkt gewoon): PHP-code:
PHP-code:
|
ff uit het hoofdje: iets met super.paintComponent(Graphics g) ?
en euh, wat deed canvas precies? en erft je playfield daar ook van over? of waar paint je je components? zo te zien niet op een jpanel :p |
Hoe zou ik die super dan toe moeten passen? :p
Eh, je moet canvas zien als een 'doek' waar je op kunt tekenen. :p Playfield en Piece extended beide Canvas. Ik paint mijn components in de klasse zelf, als je dat soms bedoelt. Bij Playfield werkt dat dus prima, maar bij Piece niet. Hier is Playfield: PHP-code:
edit: Als ik een Piece aanmaak (eentje maar, dus), en deze initialiseer met piece = new Piece(1, x, y, this); en die dan direct add mbv c.add(piece, BorderLayout.WEST);, pikt ie het ook niet. =\ en dan gaat het toch echt éxact hetzelfde als Playfield. |
euhm ik weet niet of het aan mij ligt, maar die paint zou apart aangeroepen moeten worden omdat het gewoon een methode is van je class?
Accolades verkeerd staan misschien? |
Dan deed ie wel lastig. :P
Maaar. Als ik dit doe, doet ie 't: PHP-code:
PHP-code:
PHP-code:
|
Citaat:
overigens, ik heb altijd gewoon geleerd om rechtstreeks op me JPanel te plempen? ik heb nooit met canvas gewerkt. t voorbeeldje wat wij hadden was dan een vector volduwen met wat figuurtjes, een teken functie aanroepen die die vector op je JPanel weergaf, en vervolgens had je nog een mouselistener om leuke stipjes te kunnen tekenen . nu weet ik niet precies wat jou programma moet/gaat doen. maar is het net zoiets? ik weet niet of ik nu al je hier geposte code kan gebruiken om zelf ook een running project te maken, dan kan ik zo es kijken op me laptop, want ik heb hier geen eclipse :p |
Citaat:
Nee. Wij moeten een spel programmeren (Kwarto). Het is nu wel gelukt, trouwens. Ik heb een aparte klasse (Draw) gemaakt die het drawen van de images in kwestie afhandelt. Nu wordt de functionaliteit van de steen dus gerepresenteerd door de Piece klasse en het tekenen van alles wordt door Draw geregeld. Nu implement Piece dus MouseListener. Nu heb ik bijvoorbeeld dit (in Piece.java): PHP-code:
|
daar rollen toch een paar x,y waarden uit ? die mouseEntered? wat zegt de API daarover?
maar moet opzich te doen zijn? oplossing met aparte klasse Draw is dan wel weer netjes OO ;) |
Citaat:
Dan is het zo: de GUI maakt alles aan, Piece modelleert de 4 eigenschappen van de stenen, en Draw houdt bij of ze geselecteerd zijn, of je erover hovered of niet en tekent de juiste status aan de hand daarvan? |
Alle tijden zijn GMT +1. Het is nu 00:07. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.