Just nu i M3-nätverket
Jump to content

bevakning av ett GUI


Monshi

Recommended Posts

Back to basic.

 

Helt fritt, hur skulle ni lösa detta?

Ett GUI med en mängd (text) fält där data matas in. Dessa fälts data motsvaras av uppgifter i en instans av en klass. Dvs när datat i fältet ändras ska motsvarande uppgift i instansen av klassen ändras.

 

Omedelbart? Ja gärna, men inte nödvändigt. Instansen finns i en lista med flera instanser av samma objekt, uppdatering måste ske innan programmet går vidare eller ett annat objekt får fokus i listan.

 

Det borde finnas en "standardmetod" att göra detta på, men jag känner inte till den. Har ett sätt jag gör det nu, men det fungerar inte klockrent så jag tänkte höra vad mer erfarna programmerare har att säga om detta.

 

behöver ni mer information för att ge förslag? Säg då det...

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

[inlägget ändrat 2005-04-04 16:10:20 av Monshi]

Link to comment
Share on other sites

Inga svar :(

 

Nåja, jag har löst det.

 

Kort, såhär har jag gjort.

Ett GUI med flera paneler på.

Varje panel har ett antal kontroller, comboboxar eller textfält, där data kan matas in.

Till varje kontroll är en change-listener kopplad, en listener som är definierade i en basklass som varje panel är skapad ifrån.

Till varje textfält finns en version av ett PlainDocument kopplad, också denna i basklassen Denna tar hand om all inmatning i alla textfält och validerar att den är korrekt (enbart tal större eller lika med noll, inga bokstäver).

Med dessa två vet jag när något ändrats i gränssnittett. Då körs en uppdatering. (vissa mindre begränsningar i när/om den körs finns) Uppdatering sker av värdena i alla fält på panelen eftersom jag ej orkar bry mig om att kolla vilken av kontrollerna som ändrats, men bara den panel där något ändrats tas med i uppdateringen.

 

Prövade med FocusLost, men det ville sig inte riktigt. Alla tillfälen då jag tyckt att en uppdatering borde ha körts kördes inte. Med händelserna ovan kan jag vara helt säker på att fånga alla ändringar omedelbart. Får se om jag försöker igen med FocusLost, kan spara en del rundor i uppdateringsrutinen. Jag har en fokushanterare, även denna i basklassen, som lätt kan byggas ut.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...