Simpel GUI-programmering

Vejledende løsninger
Opgaver

 

 

1

Lav følgende vindue:

Figur 1:
Vindue til addition
  Vinduet skal fungere på den måde at summen af de to argumenter, der angives i de to hvide felter, udskrives i det grå felt til højre i vinduet.
   
2

Lav følgende vindue:

Figur 2:
Vindue med aritmetiske operationer
  Vinduet skal fungere på den måde at når man trykker på en af knapperne, skal den tilsvarende operation udføres på de tal der står i de to hvide felter og resultatet skal vises i det grå felt til højre (Vær opmærksom på, at det grå felt til højre bliver bredt nok til at kunne vise hele resultatet ved division)
   
3 [Ikast Handelsskole: Datamatiker - Konstruktions-reeksamen, 23. januar 2001: Opgave 2]
3.1 Betragt følgende vindue:
 
  I dette vindue er det muligt at indtaste tre heltal og få beregnet deres sum, når man trykker på knappen med lighedstegnet,
  Følgende vindue viser et eksempel på dette:
 
  Hvis man undlader at indtaste et tal i et af felterne, eller taster noget der ikke er et heltal, bliver det ignoreret - med andre ord bliver det betragtet som 0.
  Følgende vindue viser et eksempel; hvor der i det tredje felt er indtastet noget fejlagtigt:
 
  I yderste tilfælde kan alle felter være fejlagtige, som det er vist i følgende vindue:
 
  Det er ikke muligt at indtaste værdier i det grå felt.
  Når man lukker vinduet skal applikationen terminere.
  Lav en klasse SummerFrame, der implementerer ovenstående vindue med den anførte funktionalitet.
   
3.2 Vi ønsker at lave en mere dynamisk udgave af klassen SummerFrame fra opgave 3.1.
  Betragt følgende vindue:
 
  Her er der fem felter i stedet for de tre i opgave 3.1.
  Vi ønsker at lave en udgave af SummerFrame, der gør det muligt at arbejde med et forskelligt antal felter, alt efter hvad vi måtte ønske.
  Lav ændringer i SummerFrame så dens konstruktor tager antallet af felter som parameter, og opbygger sig selv, så den får det ønskede antal felter.
  Funktionaliteten er i øvrigt som beskrevet i opgave 3.1
   
4 [Ikast Handelsskole: Datamatiker - Konstruktions-eksamen, 6. januar 2000: Opgave 5]
  Betragt følgende vindue:
 
  I venstre side er der to felter til indtastning af heltal. Når man trykker på knappen Min bliver det mindste af de to tal fra indtastningsfelterne vist i feltet til højre. Tilsvarende bliver det største tal vist; hvis man i stedet trykker på Max.
  Hvis et eller flere af de to indtastningsfelter ikke indeholder et heltal når man trykker på en af knapperne skal der udskrives en fejl-meddelelse i feltet til højre. Hvis man f.eks. helt undlader at indtaste noget i nogen af de to indtastningsfelter vil man få følgende billede efter at have trykket på Min:
 
  Når man lukker vinduet skal programmet terminere.
  Lav en klasse MinMaxFrame, der implementerer ovenstående vindue med den anførte funktionalitet.
   
5 [Ikast Handelsskole: Datamatiker - Konstruktions-reeksamen, 20. januar 2000: Opgave 2]
  Betragt følgende vindue:
 
  I venstre side er der et felt til indtastning af et heltal. Når man trykker på knappen Halv bliver det halve af tallet fra indtastningsfeltet vist i feltet til højre. Tilsvarende bliver det dobbelte af tallet vist; hvis man i stedet trykker på Dobbelt.
  Hvis indtastningsfeltet ikke indeholder et heltal, når man trykker på en af knapperne, skal der udskrives en fejl-meddelelse i feltet til højre. Hvis man f.eks. helt undlader at indtaste noget i indtastningsfeltet vil man få følgende billede efter at have trykket på Halv:
 
  Når man lukker vinduet skal programmet terminere.
  Lav en klasse HalvDobbeltFrame, der implementerer ovenstående vindue med den anførte funktionalitet.