Table of Contents
Identifying the differences between a graphical interface and a text-based one (Bloom 1*)
Describing the basic architecture of a graphical application (Bloom 1)
Enumerating and describing the phases in a graphical interface creation process (Bloom 1)
Identifying the main elements conforming a graphical interface (Bloom 1*)
Setting in place and using the main elements conforming a graphical interface (Bloom 1)
Explaining the concept of Events Oriented Programming (Bloom 1*)
Adding behaviour to a graphical element (Bloom 1*)
Recognizing the elements in the Swing library and their expected features (Bloom 1)
Describing the Swing basic elements, their usefulness and how to use them: windows, panels, atomic elements, layouts and coordinates (Bloom 1)
Explaining and using the contentPane (Bloom 1)
Describing the Java's events model 1.1 dinamics (Bloom 1)
Using the Listeners (Bloom 1*)
Linking listeners to graphical elements (Bloom 1*)
Explaining how events are delivered to listeners (Bloom 1)
Enumerating and explaining the methods to be included in order to used a specific listener (Bloom 1)
Obtaining more information on an event from Event objects (Bloom 1)
Arguing the importance of graphical interfaces (Bloom 2)
Explaining why the graphical interfaces programming is an instance of Events Oriented Programming (Bloom 2)
Describing the pros and cons of the different architectures for a graphical application in Java (Bloom 2)
Explaining the function of each phase in the graphical interface creation process and how it contributes to the final aim (Bloom 2)
Distinguishing the usefulness of each element in a graphical interface (Bloom 2*)
Arguing on the philosophy of the events orientation (Bloom 2)
Distinguishing between Listener and Adapter (Bloom 2)
Explaining the differences among listener, event and listener's method (Bloom 2*)
Letting an application waiting for an event (Bloom 2*)
Applying all the concepts seen to other graphical elements (Bloom 2)
Searching for information on graphical elements in the Java API (Bloom 2*)
Choosing the most suitable graphical elements for every occasion, justifying the selection (Bloom 2)
Selection the most suitable containers structure (Bloom 3)
Properly distributing the information in the interfaz by using panels and coordinates and layouts in a sound way (Bloom 3*)
Selecting and properly using basic atomic elements (buttons, labels and text-fields) (Bloom 3*)
Proposing in a justified way an architecture for a specific graphical application, including the listeners to be used and where to put them (Bloom 3)
Programming listeners to implement specific functionalities (Bloom 3)
Asking for information on events (Bloom 3)
Analysing a graphical interface's code, predicting its behaviour, and being able to modify and extend it later (Bloom 4*)
Analysing a complex wording describing a graphical interface (Bloom 4*)
Analysing a graphical interface programming problem not fully specified and developing it thoroughly (Bloom 4)
Creating a complete graphical interface from a set of specifications (Bloom 5)
Integrating the graphical structures with the rest of the program (Bloom 5*)
Designing and programming complete architectures for an application, including both the graphical aspects and the information process (Bloom 5)
Publicly defending the suitableness of a graphical interface solution for a given problem (Bloom 6)
Evaluating a graphical interface solution proposed by others (Bloom 6)
AWT (Abstract Window Toolkit) and Swing complement rather than replace each other.
The strength of the MVC design pattern (Model View Controller) consists on its ability to separate and isolate the business layer from the graphical interface.
Swing follows the MVC pattern.
java.awt.FlowLayout
class is not the more suitable when you don't know
the final size of the parent container.
java.awt.GridLayout
class has a singular behavior associated with the size
of the components it includes.
JButton, JCheckbox, JRadioButton, JMenu
classes... inherit from the same class.
To handle the GUI more efficiently, you can indicate a specific button that will run when you press the intro key.
You can change the LookAndFeel of a graphical interface at runtime.
Similar to the event handlers that are triggered when user performs an action
(ActionListener
), there is a collection of handlers devoted to
detect different types of events.
It is necessary to first activate a component to display it properly.
It's faster and more efficient to use BorderFactory
class to build borders.