Avatar billede tomniels Nybegynder
02. maj 2002 - 11:07 Der er 10 kommentarer og
1 løsning

GUI i bookingsystem

Halløjsa

Jeg er ved at lave et bookingsystem i Java, hvor det grafisk skal være muligt at se en saloversigt over ledige/reserverede/betalte pladser, samt de pladser systemet foreslår til den aktuelle bestilling. Jeg forestiller mig noget med at hver enkelt sæde kan skifte farve alt efter hvilken status den har.

Mit spørgsmål er så hvordan får man et sæde til at få en individuel status (farve), samtidig med at det skal kunne kobles sammen med andre sæder når man f.eks. bestiller flere sæder på én gang???? 
Avatar billede disky Nybegynder
02. maj 2002 - 11:13 #1
Du laver nogle forskellige datastrukturer der holder styr på dette for dig.

Jeg håber du er MEGET hardcore til Swing, det kræver det nemlig hvis det skal være gennemført.

Kig evt. på www.encope.com som er et dansk firma der har lavet et velfungerende teater bestillings system.
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 11:15 #2
Det er meget gennerelt det du skriver, måske det ville være lettere at hjælpe dig hvis du skriver noget kode.


Note: Lad et sæde have en tilstand og få din GUI til at spørge på den tilstand når den skal tegne den.
Avatar billede disky Nybegynder
02. maj 2002 - 11:31 #3
lyhr007:
En bedre løsning ville være hvis sædet kunne tegne sig selv, via en paint() metode.

Det er en fordel at holde tingene hos de objekter der kender til det.
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 11:40 #4
Øhh så for du har højkobling, hvad nu hvis sædet skal kunne tegnes i SWING og AWT og html ??

Så er det langt bedere at have data og "grafik" delt op.

Generelt er det god kode skik at lave lav kobling.
Avatar billede tomniels Nybegynder
02. maj 2002 - 12:09 #5
Jeg er ikke hardcore i GUI programmering, så mit første problem er at lave en oversigt med komponenter man kan ændre. Jeg har kun prøvet at lave GUI'er med knapper, paneler, osv. og andre simple komponenter fra Swing og AWT
Avatar billede disky Nybegynder
02. maj 2002 - 12:23 #6
lav et objekt som er en arving af en Swing button, dette objekt ved så selv hvilken farve det skal have når det skal tegnes.
Lav ligeledes en set metode til at sætte farven udefra, så objektet (sædet) ved når det er solgt.
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 12:32 #7
Normalt når man laver GUIs bruger man MVC som står for Model View Control. SWING bygger på dette prencip og det gør de fleste andre GUIs også.

Din Model er din Sæde Klasse, denne indeholder en tilstand om den er solgt eller ej (plus havde den ellers skal have).

Dit View er så en klasse der kan finde ud af at tegne Sæde klassen, alt efter hvilken tistand den er i, f.esk. i SWING have en paint(); methode.



Dette betyder at hvis du på et tidspunkt finder ud af at din Model (Sædet) skal kunne tegnes på en anden måde. F.eks. at et andet sted skal kun sæder der er ledige vises, laver du bare en ny View klasse til din model.

Herved undgår du at binde(høj kobling) hvordan du viser din model til selve modellen. Hvilket gør det svært at ændre og svært at udvide.

/Lyhr
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 12:33 #8
-> plus havde den ellers skal have). -> plus hvad den ellers skal have).
Avatar billede tomniels Nybegynder
02. maj 2002 - 12:39 #9
Vil det sige at jeg skal tegne et sæde som en knap? Jeg ville gerne have at vide hvordan man f.eks kan anvende en tegning over salen- og derved sætte hvert sæde på tegningen til at være en knap- uden at den er sådan en stor klods som en normal knap...
Avatar billede disky Nybegynder
02. maj 2002 - 12:48 #10
ja du kan godt tegne et sæde som en knap, du kan angive størrelsen på knapperne hvis du ønsker det.
Og samtidigt placere dem ligesom det passer dig.
Avatar billede tomniels Nybegynder
02. maj 2002 - 12:58 #11
Takker.......
Jeg tror jeg har løsningen nu :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester