Archief - JAVA Quiz programma

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

m1dnight

Legacy Member
Dag mensen,

Ik heb voor school een opdracht om een quiz te programmeren in JAVA. Nu zit ik met een probleem om een constructie uit te voeren.

Ik vind het nogal moeilijk om een degelijk beeld te schetsen van mijn probleeem. Vandaar stop ik er maar de code bij.

Het zit dus als volgt:

Ik heb een klasse GUI extends JFrame, een klasse Vraag, met als subklassen GoedfoutVraag en MeerkeuzeVraag.
Code:
public abstract class Vraag {
    private String vraagzin;
    private int gewicht;
...
public abstract String getAntwoord();
public abstract void toonVraag();
public abstract String getInstructie();
Hier zie je dus de abstracte methodes die overridden worden door de subklassen.

Vervolgens heb ik deze subklassen met hun attributen:
Code:
public class MeerkeuzeVraag extends Vraag {
    private String antwoord, fout1, fout2, fout3;

Code:
public class GoedFoutVraag extends Vraag {
    private String antwoord;

Dit werkt allemaal best goed.

Nu zit op een punt, dat ik een methode aanroep in mijn klasse DatabaseCon "vulArray()". Deze zal een array Vraag[] array; vullen met X aantal objecten die ofwel een meerkeuzeVraag zijn, ofwel een goedFoutVraag.

Deze array gaat dan naar mijn methode GUI. Hier zou ik de waarden van elk object moeten ophalen. Dus voor een goedfoutvraag "goed" of "fout". En voor een meerkeuzeVraag "Fout1" tem 3. En het correcte antwoord.

Ik had dan bedacht instanceOf. Maar ik vond op het net dat dit niet netjes is om te gebruiken. DAt het beter is een een overridden methode te gebruiken.

Ik mijn klasse GUI heb ik 2 panels, eentje GoedFout, en eentje Meerkeuzevraag. Met elk hun bijhorende componenten.

Nu is mijn probleem, hoe krijg ik van beide componenten via hun overridden methode, de waarden naar mijn componenten? (setText van de componenten etc).

Ik kan bedenken dat ik bij beide methodes een array return met string waarden? Maar volgens mij is dit een omweg, in plaats van een degelijke oplossing.

Ik heb geprobeerd een duidelijk beeld te schetsen. Hopelijk kan ik op hulp rekenen.

Bedankt mensen!

Edit: Indien de code nodig zou zijn, vraag maar..

Parnakra

Legacy Member
m1dnight zei:
Ik kan bedenken dat ik bij beide methodes een array return met string waarden? Maar volgens mij is dit een omweg, in plaats van een degelijke oplossing.
Lijkt me net het beste hier. Je Vraag-klasse hoeft enkel z'n mogelijke antwoorden te geven, je GUI beslist wat hij ermee doet en hoe hij dat doet.

Als je het directer/specifieker wil gaan maken, ga je je Vraag-klasse te veel aanpassen aan deze ene specifieke GUI.

Parnakra

Legacy Member
Je GUI hoeft helemaal niet te weten van welke klasse het is, enkel hoeveel mogelijke antwoorden hij krijgt (m.a.w. de grootte van je array).

m1dnight

Legacy Member
Ok ik heb ondertussen nog een beeldvraag geimplementeerd. Het lukt wel aardig met die Array.

als arraylength == x ->;
Bedankt voor de hulp!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan