Knutsi Skrevet 7. januar 2007 Del Skrevet 7. januar 2007 (endret) Heisann! Jeg ønsker å skrive en en liten (men utbyggbar) applikasjon for å gjøre noen simuleringer og føre notater til en fil/database underveis. Jeg har liten erfaring med Java, Swing og GUIer generelt, men noe fra C# og aspx web-applikasjoner og div. andre språk fra gamledager (C/C++,Perl). Følgelig vil jeg gjerne høre om arkitekturen jeg tenker meg er solid, eller om noen ev. kan peke meg til steder på veven som kan lære meg hvordan dette best kan gjøres. Jeg forestiller meg at applikasjonen har to lag. Først Swing-tråden, og så en serie klasser og tråder som tar hånd om simuleringen. Sentralt står den statiske klassen SimulationManager som inneholder metoder for å starte, stoppe, laste inn og nullstille simulasjonen. Denne har pekere til alle objekter involvert, og trådene som kjører. Over dette, ligger den grafiske tråden hvor hvert vindu med gjevne mellomrom (javax.swing.Timer) leser data fra SimulationManager og presenterer endringene. Tilsvarende kan vinduene sette parametere i simulasjonen via SimulationManager og tilknyttede klasser. Er dette en fornuftig arkitektur for en Swing-applikasjon? Hilsen en Java-nybegynner. Endret 7. januar 2007 av Knutsi Lenke til kommentar
kjey Skrevet 7. januar 2007 Del Skrevet 7. januar 2007 (endret) Hmm, er ikke noen ekspert i arkitektur, men jeg tror du er inne på noe hvis jeg har forstått riktig. Slik hadde jeg gjort det: 1.) Lage klassen som kjører programmet (main-metoden). class Main { public static void main(String[] args) { GUIClass gui = new GUIClass(); // Oppretter et objekt av GUIClass gui.setVisible(true); // Gjør designet synlig } } 2.) Lage en guiklasse (GUIClass) som inneholder designkodene og selvfølgelig private klasser innenfor GUIClass som lager hendelser til knappene du eventuelt skal ha (ActionListener). 3.) Lage simulasjonsklassen(e) som returnerer verdier som kan brukes i guiklassen ved hjelp av knappelyttere. Dette gjør du enkelt ved å opprette objekter av simuleringklassen din i knappelytteren, for så å kode hvor resultatene skal dukke opp osv. Håper dette er et greit svar som kan hjelpe deg litt EDIT: Husk at alle operasjonene dine som ikke har noe med designet å gjøre i det hele tatt skal ligge i egne klasser. F.eks. lager du egne klasser for databasebehandling osv. GUI klassen er bare en overflate av hele programmet. Endret 7. januar 2007 av kjey Lenke til kommentar
Patton Skrevet 7. januar 2007 Del Skrevet 7. januar 2007 Jeg viser til en tidligere traad angaaende swing: https://www.diskusjon.no/index.php?showtopic=603680&hl= (sjekk linkene jeg har skrevet litt nede paa siden) Lenke til kommentar
Knutsi Skrevet 8. januar 2007 Forfatter Del Skrevet 8. januar 2007 Hei og takk til dere begge, dette er nyttig Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå