SWING – Controls

SWING – Controls ”; Previous Next Every user interface considers the following three main aspects − UI Elements − These are the core visual elements the user eventually sees and interacts with. GWT provides a huge list of widely used and common elements varying from basic to complex, which we will cover in this tutorial. Layouts − They define how UI elements should be organized on the screen and provide a final look and feel to the GUI (Graphical User Interface). This part will be covered in the Layout chapter. Behavior − These are the events which occur when the user interacts with UI elements. This part will be covered in the Event Handling chapter. Every SWING controls inherits properties from the following Component class hiearchy. S.No. Class & Description 1 Component A Component is the abstract base class for the non menu user-interface controls of SWING. Component represents an object with graphical representation 2 Container A Container is a component that can contain other SWING components 3 JComponent A JComponent is a base class for all SWING UI components. In order to use a SWING component that inherits from JComponent, the component must be in a containment hierarchy whose root is a top-level SWING container SWING UI Elements Following is the list of commonly used controls while designing GUI using SWING. S.No. Class & Description 1 JLabel A JLabel object is a component for placing text in a container. 2 JButton This class creates a labeled button. 3 JColorChooser A JColorChooser provides a pane of controls designed to allow a user to manipulate and select a color. 4 JCheck Box A JCheckBox is a graphical component that can be in either an on (true) or off (false) state. 5 JRadioButton The JRadioButton class is a graphical component that can be in either an on (true) or off (false) state. in a group. 6 JList A JList component presents the user with a scrolling list of text items. 7 JComboBox A JComboBox component presents the user with a to show up menu of choices. 8 JTextField A JTextField object is a text component that allows for the editing of a single line of text. 9 JPasswordField A JPasswordField object is a text component specialized for password entry. 10 JTextArea A JTextArea object is a text component that allows editing of a multiple lines of text. 11 ImageIcon A ImageIcon control is an implementation of the Icon interface that paints Icons from Images 12 JScrollbar A Scrollbar control represents a scroll bar component in order to enable the user to select from range of values. 13 JOptionPane JOptionPane provides set of standard dialog boxes that prompt users for a value or informs them of something. 14 JFileChooser A JFileChooser control represents a dialog window from which the user can select a file. 15 JProgressBar As the task progresses towards completion, the progress bar displays the task”s percentage of completion. 16 JSlider A JSlider lets the user graphically select a value by sliding a knob within a bounded interval. 17 JSpinner A JSpinner is a single line input field that lets the user select a number or an object value from an ordered sequence. Print Page Previous Next Advertisements ”;

SWING – Environment

SWING – Environment Setup ”; Previous Next This section guides you on how to download and set up Java on your machine. Please use the following steps to set up the environment. Java SE is freely available from the link Download Java. Hence, you can download a version based on your operating system. Follow the instructions to download Java and run the .exe to install Java on your machine. Once you have installed Java on your machine, you would need to set the environment variables to point to the correct installation directories. Setting Up the Path for Windows 2000/XP Assuming you have installed Java in c:Program Filesjavajdk directory − Step 1 − Right-click on ”My Computer” and select ”Properties”. Step 2 − Click the ”Environment variables” button under the ”Advanced” tab. Step 3 − Alter the ”Path” variable so that it also contains the path to the Java executable. Example, if the path is currently set to ”C:WINDOWSSYSTEM32”, then change your path to read ”C:WINDOWSSYSTEM32;c:Program Filesjavajdkbin”. Setting Up the Path for Windows 95/98/ME Assuming you have installed Java in c:Program Filesjavajdk directory − Step 1 − Edit the ”C:autoexec.bat” file and add the following line at the end: ”SET PATH=%PATH%;C:Program Filesjavajdkbin”. Setting Up the Path for Linux, UNIX, Solaris, FreeBSD Environment variable PATH should be set to point to where the Java binaries have been installed. Refer to your Shell documentation if you have trouble doing this. Example, if you use bash as your shell, then you would add the following line to the end ”.bashrc: export PATH=/path/to/java:$PATH”. Popular Java Editors To write your Java programs, you will need a text editor. There are even more sophisticated IDE available in the market. But for now, you can consider one of the following − Notepad − On Windows machine, you can use any simple text editor like Notepad (Recommended for this tutorial), TextPad. Netbeans − Netbeans is a Java IDE that is open source and free, which can be downloaded from https://www.netbeans.org/index.html. Eclipse − Eclipse is also a Java IDE developed by the Eclipse open source community and can be downloaded from https://www.eclipse.org/. Print Page Previous Next Advertisements ”;

SWING – Discussion

Discuss SWING ”; Previous Next JAVA provides a rich set of libraries to create Graphical User Interface in a platform independent way. In this tutorial, we”ll look at SWING GUI controls. Print Page Previous Next Advertisements ”;

SWING – Menu

SWING – Menu Classes ”; Previous Next As we know that every top-level window has a menu bar associated with it. This menu bar consists of various menu choices available to the end user. Further, each choice contains a list of options, which is called drop-down menus. Menu and MenuItem controls are subclass of MenuComponent class. Menu Hierarchy Menu Controls Sr.No. Class & Description 1 JMenuBar The JMenuBar object is associated with the top-level window. 2 JMenuItem The items in the menu must belong to the JMenuItem or any of its subclass. 3 JMenu The JMenu object is a pull-down menu component which is displayed from the menu bar. 4 JCheckboxMenuItem JCheckboxMenuItem is the subclass of JMenuItem. 5 JRadioButtonMenuItem JRadioButtonMenuItem is the subclass of JMenuItem. 6 JPopupMenu JPopupMenu can be dynamically popped up at a specified position within a component. Print Page Previous Next Advertisements ”;

SWING – Layouts

SWING – Layouts ”; Previous Next Layout refers to the arrangement of components within the container. In another way, it could be said that layout is placing the components at a particular position within the container. The task of laying out the controls is done automatically by the Layout Manager. Layout Manager The layout manager automatically positions all the components within the container. Even if you do not use the layout manager, the components are still positioned by the default layout manager. It is possible to lay out the controls by hand, however, it becomes very difficult because of the following two reasons. It is very tedious to handle a large number of controls within the container. Usually, the width and height information of a component is not given when we need to arrange them. Java provides various layout managers to position the controls. Properties like size, shape, and arrangement varies from one layout manager to the other. When the size of the applet or the application window changes, the size, shape, and arrangement of the components also changes in response, i.e. the layout managers adapt to the dimensions of the appletviewer or the application window. The layout manager is associated with every Container object. Each layout manager is an object of the class that implements the LayoutManager interface. Following are the interfaces defining the functionalities of Layout Managers. Sr.No. Interface & Description 1 LayoutManager The LayoutManager interface declares those methods which need to be implemented by the class, whose object will act as a layout manager. 2 LayoutManager2 The LayoutManager2 is the sub-interface of the LayoutManager. This interface is for those classes that know how to layout containers based on layout constraint object. AWT Layout Manager Classes Following is the list of commonly used controls while designing GUI using AWT. Sr.No. LayoutManager & Description 1 BorderLayout The borderlayout arranges the components to fit in the five regions: east, west, north, south, and center. 2 CardLayout The CardLayout object treats each component in the container as a card. Only one card is visible at a time. 3 FlowLayout The FlowLayout is the default layout. It layout the components in a directional flow. 4 GridLayout The GridLayout manages the components in the form of a rectangular grid. 5 GridBagLayout This is the most flexible layout manager class. The object of GridBagLayout aligns the component vertically, horizontally, or along their baseline without requiring the components of the same size. 6 GroupLayout The GroupLayout hierarchically groups the components in order to position them in a Container. 7 SpringLayout A SpringLayout positions the children of its associated container according to a set of constraints. Print Page Previous Next Advertisements ”;

SWING – Event Listeners

SWING – Event Listeners ”; Previous Next Event listeners represent the interfaces responsible to handle events. Java provides various Event listener classes, however, only those which are more frequently used will be discussed. Every method of an event listener method has a single argument as an object which is the subclass of EventObject class. For example, mouse event listener methods will accept instance of MouseEvent, where MouseEvent derives from EventObject. EventListner Interface It is a marker interface which every listener interface has to extend. This class is defined in java.util package. Class Declaration Following is the declaration for java.util.EventListener interface − public interface EventListener SWING Event Listener Interfaces Following is the list of commonly used event listeners. Sr.No. Class & Description 1 ActionListener This interface is used for receiving the action events. 2 ComponentListener This interface is used for receiving the component events. 3 ItemListener This interface is used for receiving the item events. 4 KeyListener This interface is used for receiving the key events. 5 MouseListener This interface is used for receiving the mouse events. 6 WindowListener This interface is used for receiving the window events. 7 AdjustmentListener This interface is used for receiving the adjustment events. 8 ContainerListener This interface is used for receiving the container events. 9 MouseMotionListener This interface is used for receiving the mouse motion events. 10 FocusListener This interface is used for receiving the focus events. Print Page Previous Next Advertisements ”;

SWING – Event Adapters

SWING – Event Adapters ”; Previous Next Adapters are abstract classes for receiving various events. The methods in these classes are empty. These classes exist as convenience for creating listener objects. SWING Adapters Following is the list of commonly used adapters while listening GUI events in SWING. Sr.No. Adapter & Description 1 FocusAdapter An abstract adapter class for receiving focus events. 2 KeyAdapter An abstract adapter class for receiving key events. 3 MouseAdapter An abstract adapter class for receiving mouse events. 4 MouseMotionAdapter An abstract adapter class for receiving mouse motion events. 5 WindowAdapter An abstract adapter class for receiving window events. Print Page Previous Next Advertisements ”;

SWING – Containers

SWING – Containers ”; Previous Next Containers are an integral part of SWING GUI components. A container provides a space where a component can be located. A Container in AWT is a component itself and it provides the capability to add a component to itself. Following are certain noticable points to be considered. Sub classes of Container are called as Container. For example, JPanel, JFrame and JWindow. Container can add only a Component to itself. A default layout is present in each container which can be overridden using setLayout method. SWING Containers Following is the list of commonly used containers while designed GUI using SWING. Sr.No. Container & Description 1 Panel JPanel is the simplest container. It provides space in which any other component can be placed, including other panels. 2 Frame A JFrame is a top-level window with a title and a border. 3 Window A JWindow object is a top-level window with no borders and no menubar. Print Page Previous Next Advertisements ”;

SWING – Overview

SWING – Overview ”; Previous Next Swing API is a set of extensible GUI Components to ease the developer”s life to create JAVA based Front End/GUI Applications. It is build on top of AWT API and acts as a replacement of AWT API, since it has almost every control corresponding to AWT controls. Swing component follows a Model-View-Controller architecture to fulfill the following criterias. A single API is to be sufficient to support multiple look and feel. API is to be model driven so that the highest level API is not required to have data. API is to use the Java Bean model so that Builder Tools and IDE can provide better services to the developers for use. MVC Architecture Swing API architecture follows loosely based MVC architecture in the following manner. Model represents component”s data. View represents visual representation of the component”s data. Controller takes the input from the user on the view and reflects the changes in Component”s data. Swing component has Model as a seperate element, while the View and Controller part are clubbed in the User Interface elements. Because of which, Swing has a pluggable look-and-feel architecture. Swing Features Light Weight − Swing components are independent of native Operating System”s API as Swing API controls are rendered mostly using pure JAVA code instead of underlying operating system calls. Rich Controls − Swing provides a rich set of advanced controls like Tree, TabbedPane, slider, colorpicker, and table controls. Highly Customizable − Swing controls can be customized in a very easy way as visual apperance is independent of internal representation. Pluggable look-and-feel − SWING based GUI Application look and feel can be changed at run-time, based on available values. Print Page Previous Next Advertisements ”;

Swing – Useful Resources

SWING – Useful Resources ”; Previous Next The following resources contain additional information on SWING. Please use them to get more in-depth knowledge on this topic. Useful Video Courses GUI Programming with Python Tkinter and Java Swing 31 Lectures 3.5 hours Pranjal Srivastava More Detail JAVA GUI Programming with Swing 14 Lectures 1 hours Pranjal Srivastava More Detail Java Swing Bootcamp | Build Java GUI Applications With Swing Best Seller 25 Lectures 4.5 hours Emenwa Global, Ejike IfeanyiChukwu More Detail Foundations Of Technical Analysis Essential Charting Skills For Trading And Investing 20 Lectures 2 hours Simon Milgard More Detail How to Swing Trade Stocks: The A-Z Swing Trading Course 14 Lectures 1.5 hours Travis Rose More Detail The Beginner”s Guide to Swing Trading Stocks Part-Time 14 Lectures 1 hours Travis Rose More Detail Print Page Previous Next Advertisements ”;