How to correctly communicate between two different MVC Controllers in Java Swing? -
can explain me how controller can call controller method in simple still correct way?
please provide code!
background: have 2 different controllers-view-model , 2 libraries , need communicate between each other:
settingswindow/settingscontroller/settingsmodel: responsible app settings. model singleton because need settings data on app;
a library monitoring directory creates event every time file created in specific directory. monitored dir path defined in settingsmodel; i'm using java 7 watchservice api that;
a library monitoring webserver , download new files. webserver address , save directory both defined in settingsmodel; i'm using httpsurlconnection , timer that;
mainwindow/maincontroller/mainmodel: responsible main app window, has table must updated every time new file created in monitored directory, , everytime file downloaded above libraries.
so how correctly instantiate , communicate 4 different features?
how controllers commnuicate between them, since related? how should organize project in terms of mvc?
please provide basic mvc scaffold (skeleton) , show create instances, , how call each others method. i'm new java, specially swing , mvc. i've read lot, got stuck in situation.
as suggested here, patterns such model-view-controller , observer represent recurring design elements. simple outline may illustrate interaction of classes, general solution beyond scope of stackoverflow.
still, may useful @ how principles might applied. suppose following tutorial , have implemented watchservice
in swingworker
, shown here. now, suppose want main view, jtable
, update in response arriving watchevent
. arrange corresponding tablemodel
register worker propertychangelistener
, shown here , here. when propertychangeevent
arrives, update tablemodel
, fire appropriate event update jtable
. known tablemodel
implementations include required methods.
a similar approach used update table in response data arriving web.
for settings, consider java.util.preferences
, mentioned here, or javax.jnlp.basicservice
, discussed here.
Comments
Post a Comment