SWING - FocusAdapter Class



Introduction

The class FocusAdapter is an abstract (adapter) class for receiving keyboard focus events. All methods of this class are empty. This class is convenience class for creating listener objects.

Class Declaration

Following is the declaration for java.awt.event.FocusAdapter class −

public abstract class FocusAdapter
   extends Object
      implements FocusListener

Class Constructors

Sr.No. Constructor & Description
1

FocusAdapter()

Class Methods

Sr.No. Method & Description
1

void focusGained(FocusEvent e)

Invoked when a component gains the keyboard focus.

Methods Inherited

This class inherits methods from the following classes −

  • java.lang.Object

FocusAdapter Example

Create the following Java program using any editor of your choice in say D:/ > SWING > com > tutorialspoint > gui >

SwingAdapterDemo.java

package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class SwingAdapterDemo {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingAdapterDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      SwingAdapterDemo  swingAdapterDemo = new SwingAdapterDemo();        
      swingAdapterDemo.showFocusAdapterDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java SWING Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));

      headerLabel = new JLabel("",JLabel.CENTER );
      statusLabel = new JLabel("",JLabel.CENTER);        
      statusLabel.setSize(350,100);
      
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      controlPanel = new JPanel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   
   private void showFocusAdapterDemo(){
      headerLabel.setText("Listener in action: FocusAdapter");      
      JButton okButton = new JButton("OK");
      JButton cancelButton = new JButton("Cancel");
      
      okButton.addFocusListener(new FocusAdapter() { 
         public void focusGained(FocusEvent e) {
            statusLabel.setText(statusLabel.getText() 
               + e.getComponent().getClass().getSimpleName() 
               + " gained focus. ");
         }
      });  
      cancelButton.addFocusListener(new FocusAdapter(){
         public void focusLost(FocusEvent e) {
            statusLabel.setText(statusLabel.getText() 
               + e.getComponent().getClass().getSimpleName() 
               + " lost focus. ");
         }
      });  
      controlPanel.add(okButton);
      controlPanel.add(cancelButton);     
      mainFrame.setVisible(true);  
   }
}

Compile the program using the command prompt. Go to D:/ > SWING and type the following command.

D:\SWING>javac com\tutorialspoint\gui\SwingAdapterDemo.java

If no error occurs, it means the compilation is successful. Run the program using the following command.

D:\SWING>java com.tutorialspoint.gui.SwingAdapterDemo

Verify the following output.

SWING FocusAdapter
swing_event_adapters.htm
Advertisements