• Post Reply Bookmark Topic Watch Topic
  • New Topic

Problems with GUI design and eventhandling  RSS feed

Ranch Hand
Posts: 159
IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

I have some problems with my design for the presentation layer of my application. Let's assume there are two screens. First a login screen, and then a main screen is shown when the user logs in successfully.

The application looks like:

GUI <---> Business/service layer <---> Server <---> Database

To first simplify the problem let's remove the server layer.

GUI <---> Business/service layer <---> Database

The business layer can now access the database directly. Logging in from the GUI would simply be something like:

SomeReturnObject s = myGUIClass.getBusinessLayerClass().doLogin(...)
From here I can update the GUI if I want.

When we add the server layer again (that uses Sockets for communication between the server and its clients), the situation isn't much more difficult IF the business layer login method does something like:

- create a request
- write the request to the server
- receive the response from the server for this request
- return the response to the caller

But this is not the way I want it to be. My GUI will have more events that are send to the server and some of them should update other parts of the GUI. Compare it to the idea of an asynchronous call, where the login method example above was a synchronous call, because the response was received in the same method.

So my first question is: How do I setup my design such that data/events/responses from the server are properly handled in my GUI (in a single place?) in such a way that every desired node can be updated?

And my second question is about stages and custom nodes. What's the best practice in JavaFX: create one stage and update it's scene/content or create a new Stage for every screen (like one for login screen and one for main window). The problem with using a custom node (class that extends Parent) is that I can't close the window, because of this:

Let's say loginNode has an FadeTransition that should close the stage when finished. It can't now...

Any ideas / suggestions are welcome.

It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!