user800014
user800014

Reputation:

Swing - Best Way to Interact between views?

In a Swing application, what is the best way to send data (interact) between two views?

Looking at the Coupling session in the Study Guide to the SCJP 6, it says:

All nontrivial OO applications are a mix of many classes and interfaces working together. Ideally, all interactions between objects in an OO system should use the APIs, in other words, the contracts, of the objects' respective classes.

If I understood this correct, the better way would be create interfaces (contracts) to each view, and if needed use this interfaces methods to retrieve data. Is this a good way? Spending a good time creating a lot of interfaces to say what is exposed by a view is ok?

Another way that I think is to have classes to hold the data (Model) of a view. In this case, is a good approach access directly this model classes?

Thanks in advance.

Upvotes: 6

Views: 394

Answers (2)

trashgod
trashgod

Reputation: 205775

The notion of a separable model pervades Swing, as outlined in A Swing Architecture Overview. Typically, each model is represented by an interface; a few include an AbstractXxxModel with some basic event plumbing; and many have a DefaultXxxModel with a standard implementation.

Upvotes: 6

TeaCupApp
TeaCupApp

Reputation: 11452

It completely depends on what design choice you are making. There are times where the design choice we will suggest is better for View's data sharing but it demolishes the other aspect of your software. So in order to balance you have make design choice in order to make your application run smoothly.

I personally prefer MVC design pattern. It works for me every time! read more about MVC on :

Model View Controller

Good luck!

Note : In MVC two views never interact with each other but rather they use controllers to get data from model and basically each view has controllers with a reference to it's data model.

Upvotes: 3

Related Questions