event
AdjustmentListener example
In this tutorial we are going to see how AdjustmentListener works in Java. It is quite useful when you want to monitor a very wide variety of changes in a program with rich GUI components.
For example if you bundle an AdjustmentListener with a scroll pane every time a value or a property of that component changes, the corresponding event will be handled.
In order to work with an AdjustmentListener one should follow these steps:
- Create a new
AdjustmentListenerinstance. - Override the methods that correspond to the events that you want to monitor about the components e.g,
adjustmentValueChangedand customize as you wish the handling of the respective events. Now every time one of these events occurs, the corresponding method will be executed. - Use
addAdjustmentListenerto add theAdjustmentListenerto a specific component.
Let’s take a look at this code snippets:
package com.javacodegeeks.snippets.desktop;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
public class Adjustment {
public static void main(String args[]) {
JFrame jFrame = new JFrame();
Container cPane = jFrame.getContentPane();
JButton jButton = new JButton();
JScrollPane scrollPane = new JScrollPane(jButton);
AdjustmentListener adjListener = new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent event) {
System.out.println("Horizontal: ");
dumpInfo(event);
}
};
JScrollBar hscrollBar = scrollPane.getHorizontalScrollBar();
hscrollBar.addAdjustmentListener(adjListener);
AdjustmentListener vListener = new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent event) {
System.out.println("Vertical: ");
dumpInfo(event);
}
};
JScrollBar vscrollBar = scrollPane.getVerticalScrollBar();
vscrollBar.addAdjustmentListener(vListener);
cPane.add(scrollPane, BorderLayout.CENTER);
jFrame.setSize(500, 600);
jFrame.setVisible(true);
}
private static void dumpInfo(AdjustmentEvent e) {
System.out.println(" Value: " + e.getValue());
String type = null;
switch (e.getAdjustmentType()) {
case AdjustmentEvent.TRACK:
type = "Track";
break;
case AdjustmentEvent.BLOCK_DECREMENT:
type = "Block Decrement";
break;
case AdjustmentEvent.BLOCK_INCREMENT:
type = "Block Increment";
break;
case AdjustmentEvent.UNIT_DECREMENT:
type = "Unit Decrement";
break;
case AdjustmentEvent.UNIT_INCREMENT:
type = "Unit Increment";
break;
}
System.out.println(" Type: " + type);
}
}
This was an example on how to work with AdjustmentListener in Java.

