Core Java

Swing Interview Questions And Answers
More interview questions and answers

Which method of the Component class is used to set the position and size of a component?

Method of the Component class is used to set the position and size of a component. hat is defined as : 
setBounds

Which method is used by the applet to recognize the height and width?

Method is used by the applet to recognize the height and width which is defined as :
> getParameters()

How are the elements of different layouts organized?

The elements of a FlowLayout are organized in a top to bottom, left to right fashion. The elements of a BorderLayout are organized at the borders (North, South, East and West) and the center of a container. 

The elements of a CardLayout are stacked, on top of the other, like a deck of cards. The elements of a GridLayout are of equal size and are laid out using the square of a grid. The elements of a GridBagLayout are organized according to a grid. However, the elements are of different size and may occupy more than one row or column of the grid.

In addition, the rows and columns may have different sizes. It is the most flexible layout.

What is default Look-and-Feel of a Swing Component?

Java Look-and-Feel is the default Look-and-Feel of the Swing Component.

What is difference between Swing and JSF?

Many diff are there which is following here :

> The key difference is that JSF runs on server, It needs a server like Tomcat or WebLogic or WebSphere. It displays HTML to the client.  But Swing program is a stand alone application.

What is the diff b/w choice and the List ?

Many diff are there :
> A Choice is displayed in a compact from that requires we to pull ot down to see the list of available choice, Only one item may be selected from a Choice.
> A List may be displayed in such a way that several List items are visible. A List supports the selection of the one or more List items

What\'s Java Swing?

Swing is basically a type of Toolkit which is  GUI toolkit for Java. It is one part of the Java Foundation Classes (JFC). Swing includes graphical user interface (GUI) widgets such as text boxes, buttons, split-panes, and tables.

Swing widgets provide more sophisticated GUI components than the earlier Abstract Window Toolkit. Since they are written in pure Java, they run the same on all platforms, unlike the AWT which is tied to the underlying platform\'s windowing system. Swing supports pluggable look and feel is not by using the native platform\'s facilities, but by roughly emulating them. This means you can get any supported look and feel on any platform. The disadvantage of lightweight components is slower execution. The advantage is uniform behavior on all platforms.

What is JFC?

JFC stands for Java Foundation Classes. The Java Foundation Classes (JFC) are a set of Java class libraries provided as part of Java 2 Platform, Standard Edition (J2SE) to support building graphics user interface (GUI) and graphics functionality for client applications that will run on popular platforms such as Microsoft Windows, Linux, and Mac OSX

What is AWT?

AWT is basically stands for Abstract Window Toolkit. AWT enables programmers to develop Java applications with GUI components, such as windows, and buttons. The Java Virtual Machine (JVM) is responsible for translating the AWT calls into the appropriate calls to the host operating system.

What are the differences between Swing and AWT?

Many differences are there :

> AWT is heavy-weight components, but Swing is light-weight components.
> AWT is OS dependent because it uses native components, But Swing components are OS independent.
> We can change the look and feel in Swing which is not possible in AWT.
> Swing takes less memory compared to AWT.
> For drawing AWT uses screen rendering where Swing uses double buffering.

What are heavy weight components ?

A Heavyweight component is basically associated with its own native screen resource which is generally known as a peer.

What is lightweight component?

A Lightweight component is the basically one that \"borrows\" the screen resource of an ancestor , which means it has no native resource of its own -- so it\'s \"lighter\".

What is double buffering ?

Double buffering is basically the process of use of two buffers rather than one to temporarily hold data being moved to and from an I/O device. Double buffering increases data transfer speed because one buffer can be filled while the other is being emptied.

What is an event in Swing?

Event is basically as Changing the state of an object is called an event. 

What is an event handler in swing?

An Event handler is basically a part of a computer program created to tell the program how to act in response to a specific event. 

What is a layout manager?

A layout manager is an object that is used to organize components in a container. 

What is clipping?

Clipping is the basically the process of confining paint operations to a limited area or shape. 

Which containers use a border Layout as their default layout in swing?

There are many containers use a border Layout as their default layout in swing . 
> The window,
> Frame and
> Dialog classes use a border layout as their default layout.

What is the preferred size of a component?

The preferred size of a component is the minimum component size, which  will be allow the component to display normally.

What method is used to specify a container\'s layout?

The setLayout() method is used to specify a container\'s layout. 

Which containers use a FlowLayout as their default layout?

The Panel and Applet classes use the FlowLayout as their default layout. 

What is the What is the difference between invokeAndWait() and invokeLater()? ?

Many diff are there which is defined as :
 
> invokeAndWait() method : in swing is synchronous. It blocks until Runnable task is complete.
> invokeLater() method : in swing is asynchronous. It posts an action event to the event queue and returns immediately. It will not wait for the task to complete.

Why should any swing call back implementation execute quickly?

Callbacks are invoked by the event dispatch thread. Event dispatch thread blocks processing of other events as long as call back method executes.

What is an applet?

Applet is basically a java program that runs inside a web browser. 

What is the difference between applications and applets?

Many difference are there : 
> Application must be run explicitly within Java Virtual Machine whereas applet loads and runs itself automatically in a java-enabled browser. Application starts execution with its main method whereas applet starts execution with its init method.
> Application can run with or without graphical user interface whereas applet must run within a graphical user interface. In order to run an applet we need a java enabled web browser or an appletviewer.

When we should go for codebase in applet?

If the applet class is not in the same directory,when we used to codebase. 

What is the lifecycle of an applet?

An Applet is basically life-cycle is defined as :

init() method : called when an applet is first loaded.
start() method : called each time an applet is started .
paint() method : called when the applet is minimized or maximized .
stop() method : called when the browser moves off the applet\'s page.
destroy() method : called when the browser is finished with the applet.

Which method is used for setting security in applets?

The Method is used for setting security in applets which is defined as :
setSecurityManager()

What is an event and what are the models available for event handling?

Changing the state of an object is called an event. An event is an event object that describes a state of change. In other words, event occurs when an action is generated, like pressing a key on keyboard, clicking mouse, etc. 

There different types of models for handling events are event-inheritance model and event-delegation model

What are the advantages of the event-delegation model over the event-inheritance model?

Event-delegation model has two advantages over event-inheritance model.

=> Event delegation model enables event handling by objects other than the ones that generate the events. This allows a clean separation between a component\'s design and its use.
=> It performs much better in applications where many events are generated. This performance improvement is due to event-delegation model does not have to be repeatedly process unhandled events as is the case of the event-inheritance.

Can a class be it\'s own event handler? Explain how to implement this?

Sure.a Class can be its own event handler. For an example could be a class that extends Jbutton and implements ActionListener. In the actionPerformed method, put the code to perform when the button is pressed.

Why does JComponent have add() and remove() methods but Component does not?

JComponent have add() and remove() methods but Component does not because JComponent is a subclass of Container, and can contain other components and jcomponents.

How would you create a button with rounded edges?

There are 2 ways to create a button with rounded edges. 

> The first thing is to know that a JButtonï\'s edges are drawn by a Border. so we can override the Button\'s paintComponent or Graphics method and draw a circle or rounded rectangle and turn off the border.

>We can create a custom border that draws a circle or rounded rectangle around any component and set the buttonï\'s border to it.

Explain how to render an HTML page using only Swing?

HTML page is basically render the page using the JEditorPane or JTextPane and set it with the HTMLEditorKit, and load it that the use of swing in HTML pages.

How would you detect a keypress in a JComboBox?

\"KeyListner in a JComboBox\" is the basically tyoe of the trick . many programmer is said thet: \"add the  keyListner in a JComboBox \". But its main use in the  \" add the  keyListner in a JComboBox as a editor component.

What is the difference between the Font and FontMetrics class?

 The difference between the Font and FontMetrics class :

> The Font Class is used to render glyphs, The characters we see on the screen.
> FontMetrics encapsulates information about a specific font on a specific Graphics object.

What class is at the top of the AWT event hierarchy?

 java.awt.AWTEventis that class which is at the top of the AWT event hierarchy. if they say java.awt.Event, they haven\'t deal with swing or AWT in a while. 

Why should the implementation of any Swing callback (like a listener) execute quickly?

Any swing callback execute quickly should be implementation Because callbacks are invoked by the event dispatch thread which will be blocked processing other events for as long as our method takes to execute.

In what context should the value of Swing components be updated directly?

Any other context is not thread safe. But in  callback methods , Swing components should be updated directly only in the context.In callback methods invoked from the event dispatch thread. 

Why would you use SwingUtilities.invokeAndWait or SwingUtilities.invokeLater?

I want to update a Swing component but I\'m not in a callback. If I want the update to happen immediately or perhaps for a progress bar component, then I\'d use invokeAndWait. If I don\'t care when the update occurs, I\'d use invokeLater.

If your UI seems to freeze periodically, what might be a likely reason?

A callback implementation like ActionListener.actionPerformed or MouseListener.mouseClicked is taking a long time to execute thereby blocking the event dispatch thread from processing other UI events.

Which Swing methods are thread-safe?

The only thread-safe methods are following here : 

> repaint(),
> revalidate()
> invalidate()

Why won�t the JVM terminate when I close all the application windows?

The AWT event dispatcher thread is not a daemon thread. You must explicitly call System.exit to terminate the JVM.

What is double buffering ?

Double buffering is the process of use of two buffers rather than one to temporarily hold data being moved to and from an I/O device. Double buffering increases data transfer speed because one buffer can be filled while the other is being emptied.

What is an event?

Event is basically a changing the state of an object .

What is an event handler ?

An event handler is basically is a part of a computer program, Which is created mainly for the programs, Its signifies the program how to act in response to a specific event.

Which containers use a border Layout as their default layout?

Any containers which is use border layout as their default layout. They are following:

> The window
> Frame
> Dialog classes
> Panel

What method is used to specify a container\'s layout?

Any methods are used to specify a container\'s layout But the main method is 

The setLayout()

What is the difference between invokeAndWait() and invokeLater()?

The difference between invokeAndWait() and invokeLater():    

> invokeAndWait(): is synchronous. It blocks until Runnable task is complete.
> invokeLater() :is asynchronous. It posts an action event to the event queue and returns immediately. It will not wait for the task to complete .

Why should any swing call back implementation execute quickly?

Any cal back implementation execute quickly should be imp because Callbacks are invoked by the event dispatch thread. Event dispatch thread blocks processing of other events as long as call back method executes. 

Which method is used by the applet to recognize the height and width?

Method is there :
> getParameters()

What is source and listener ?

They are defined as : 
> A source : It is an object that generates an event. This occurs when the internal state of that object changes in some way.
> A listener : It is an object that is notified when an event occurs. It has two major requirements.
    * It must have been registered with a source to receive notifications about specific event.
    * It must implement necessary methods to receive and process these notifications.

What is controls and what are different types of controls in AWT?

The Controls are basically a components, Which is allow a user to interact with your application.  AWT supports the following types of controls :
> Labels, 
> Push Buttons, 
> Check Boxes, 
> Choice Lists, 
> Lists, 
> Scrollbars, 
> Text Components. 
               
These controls are subclasses of Component.

What is the difference between choice and list?

They are defined as : 
> A Choice : Choice is displayed in a compact form that requires us to pull it down to see the list of available choices and only one item may be selected from a choice.
> A List : It may be displayed in such a way that several list items are visible and it supports the selection of one or more list items.

What is the difference between scrollbar and scrollpane?

The difference between Scrollbar and Scrollpane:

> A Scrollbar is a Component, but not a Container whereas Scrollpane is a Container and handles its own events and perform its own scrolling.

What is a layout manager and what are different types of layout managers available?

A layout manager is basically an object, Its mainly used to organize components in a container. 

The different layouts are available here :
> FlowLayout,
> BorderLayout,
> CardLayout,
> GridLayout ,
> GridBagLayout,
> Boxlayout and
> SpringLayout.

What are types of applets?

There are two different types of applets. that are defined as :

> Trusted Applets.
> Untrusted applets.

> Trusted Applets : are applets with predefined security
> Untrusted Applets : are applets without any security.

What are the restrictions imposed by a Security Manager on Applets?

Applets cannot read or write files on the client machine that\'s executing it. They cannot load libraries or access native libraries. They cannot make network connections except to the host that it came from. They cannot start any program on the client machine. They cannot read certain system properties. Windows that an applet brings up look different than windows that an application brings up.

What is the difference between the Font and FontMetrics classes?

 The difference between the Font and FontMetrics classes :

> The FontMetrics class is used to define implementation-specific properties, such as ascent and descent, of a Font object.

What is the relationship between an event-listener interface and an event-adapter class?

An Event-listener interface basically defines the methods , Which  must be implemented by an event handler for a particular kind of event.

An event adapter provides a default implementation of an event-listener interface.

How can a GUI component handle its own events?

A Component can handle its own events by implementing the required event-listener interface and adding itself as its own event listener.

What is the difference between the paint() and repaint() methods?

 The difference between the paint() and repaint() methods :

> The paint() method : Its supports painting via a Graphics object.
> The repaint() method : It is used to cause paint() to be invoked by the AWT painting thread.

What interface is extended by AWT event listeners?

java.util.EventListener interface is extended by all AWT event listeners.

What is Canvas ?

Canvas is basically a Component of the subclass which is used for drawing and painting. 

Canvas is a rectangular area where the application can draw or trap input events.

What are the features of JFC?

The main features  of JFC are:

> Pluggable Look-and-Feel,
> Accessibility API,
> Java 2D API,
> Drag and
> Drop Support.

What does x mean in javax.swing?

x mean in javax.swing is Extension of java.

What are invisible components?

Invisible components are basically light weight components, Which is perform no painting, but can take space in the GUI. This is mainly used for layout management.

What is the default layout for a ContentPane in JFC?

The Default Layout for the ContentPane in JFC is that :

> BorderLayout

What does Realized mean?

Realized mean basically is  component, Which has been painted on screen or that is ready to be painted. Realization can take place by invoking any of these methods.
 
Which are following:  
> setVisible(true
> show()
> pack()

Why does JComponent class have add() and remove() methods but Component class does not?

JComponent is a subclass of Container and can contain other components and JComponents.

What method is used to specify a container\'s layout?

The setLayout() method is basically used to specify a container\'s layout.

What is the difference between AWT and SWT?

SWT : SWT is stands for Standard Widget Toolkit, It is a completely independent Graphical User Interface (GUI) toolkit from IBM. They created it for the creation of Eclipse Integrated Development Environment (IDE). 

AWT:
AWT is from Sun Microsystems.

What is the difference between JFC & WFC?

JFC supports robust and portable user interfaces. The Swing classes are robust, compatible with AWT, and provide you with a great deal of control over a user interface. Since source code is available, it is relatively easy to extend the JFC to do exactly what you need it to do. But the number of third-party controls written for Swing is still relatively small.

WFC runs only on the Windows (32-bit) user interface, and uses Microsoft extensions to Java for event handling and ActiveX integration. Because ActiveX components are available to WFC programs, there are theoretically more controls available for WFC than for JFC. In practice, however, most ActiveX vendors do not actively support WFC, so the number of controls available for WFC is probably smaller than for JFC. The WFC programming model is closely aligned with the Windows platform.

What is a convertor?

Converter is basically an application that converts distance measurements between metric and U.S units.

What is the difference between a Canvas and a Scroll Pane?

The difference between a Canvas and a Scroll Pane : 

> Canvas is a component. ScrollPane is a container.
> Canvas is a rectangular area where the application can draw or trap input events. ScrollPane implements horizontal and vertical scrolling.

What is the purpose of the enableEvents() method?

The enableEvents() method is used to enable an event for a particular object. Normally, an event is enabled when a listener is added to an object for a particular event. 

The enableEvents() method is used by objects that handle events by overriding their event-dispatch methods.

What is the difference between a MenuItem and a CheckboxMenuItem?

The CheckboxMenuItem class extends the MenuItem class to support a menu item that may be checked or unchecked. 

Which is the super class of all event classes?

The java.awt.AWTEvent class is the highest-level class in the AWT event-class hierarchy.

How the Canvas class and the Graphics class are related?

A Canvas object provides access to a Graphics object via its paint() method. 

What is the difference between a Window and a Frame?

The Frame class extends Window to define a main application window that can have a menu bar. A window can be modal.

What is the relationship between clipping and repainting?

When a window is repainted by the AWT painting thread, it sets the clipping regions to the area of the window that requires repainting. 

What advantage do Java\'s layout managers provide over traditional windowing systems?

Java uses layout managers to lay out components in a consistent manner across all windowing platforms. Since Java\'s layout managers aren\'t tied to absolute sizing and positioning, they are able to accommodate platform-specific differences among windowing systems.

When should the method invokeLater() be used?

This method is used to ensure that Swing components are updated through the event-dispatching thread.

Which component subclass is used for the drawing and painting ?

Canvas

Which containers may have a menu bar?

Frame 

Which class is the immediate supar class of the menuComponent class?

Object.

What is the relationship b/w the Canvas class and the Graphics Class?

A Canvas object provides access to a graphics object via its paint() method.

How are the elements of a borderLayout organized?

The Elements of a BorderLayout are organized at the borders(North, South, East and West) and the center of a container.

How are the elements of a GridBagLayout organized?

The Elements of a GridBagLayout are organized according to a grid. However, the elements are of different sizes and may occupy more than row or column of the grid. 

In addition, the rows and columns may have diff sizes.

Difference b/w paint() and paintComponent()?

The Key point is that the paint() method invokes three methods in the following order:

> PaintComponent()
> paintBorder()
> paintChildren()

As a general rule, in Swing, we should be overriding the paintComponent method unless we know what we are doing paintComponent() paints only component (panel) but paint() paints component and all its children.

Give us the Name of the List LayoutManagers in Java?

The List LayoutManagers :

> Flow Layout Manager
> Grid Layout Manager
> Box Layout Manager
> Border Layout Manager
> Card Layout Manager
> GridBag Layout Manager.