APD 545 Week 3

Introduction

User interfaces (UIs) are omnipresent in our tech-driven world, facilitating interactions with software and applications. In this blog post, we'll unravel the essentials of UIs, shedding light on their pivotal role in bridging the gap between users and technology.

GUI with JavaFX

What is JavaFX?

JavaFX is an open-source Java-based framework for developing rich client applications. The JavaFX library is available as a public Java application programming interface (API).

Previously, our primary focus was on coding and console outputs within IDEs. Our programs/applications did not really have any interactive user interface.

When writing programs that bring up a main interactive window (or those that run on a phone/tablet or in a browser), it is important to understand that more is "going on behind the scenes".

User interfaces act as the intermediary, enabling users to communicate with software and receive feedback. They come in diverse forms, from physical components, like buttons and screens, to digital interfaces in web browsers and mobile apps. Let's explore these facets in more detail.

Model

The model of an application consists of all classes that represent the "business logic" part of the application ... the underlying system to which a user interface is attached.

  • The model is always developed separately from the user interface.

  • It should not assume any knowledge about the user interface at all (e.g., model classes should not assume that System.out.println() is available).

User Interface

The user interface is the part of the application that is attached to the model which handles interaction with the user and does NOT deal with the business logic.

  • The user interface always makes use of the model classes and often causes the model to change according to user interaction.

  • The changes to the model are often reflected back (visually) on the user interface as a form of immediate feedback.

GUI

A graphical user interface (GUI) is a user interface that makes use of one or more windows to interact with the user.

  • A GUI gives an app a distinctive “look and feel.”

  • GUIs are built from GUI components also called controls or widgets (short for window gadgets).

  • A GUI component is an object with which the user interacts via the mouse, the keyboard or another form of input, such as voice recognition.

An application ( or app) is a computer program with a graphical user interface that can interact with users to perform tasks & calculations, obtain & visualize information, and potentially interact with the real world through sensors and hardware.