ChangeListener, KeyListener, ActionListener

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class MainFrame extends JFrame implements ChangeListener, KeyListener, ActionListener {

JPanel panel = new JPanel(new BorderLayout());
JPanel panel1 = new JPanel(new FlowLayout());
 JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 20);
JLabel label = new JLabel(“Value : “, JLabel.CENTER);
 JTextField textfield = new JTextField(10);
 JButton button = new JButton(“Close”);

public MainFrame(String name) {
super(name);

this.add(panel);
panel1.add(label);
panel1.add(textfield);
panel.add(slider, BorderLayout.CENTER);
panel.add(panel1, BorderLayout.NORTH);
panel.add(button, BorderLayout.SOUTH);

slider.addChangeListener(this); // ChangeListener stateChanged
textfield.addKeyListener(this); // KeyListener keyTyped, keyPressed, keyReleased
button.addActionListener(this); // ActionListener actionPerformed

this.setSize(250, 150);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
new MainFrame(“SliderTest-5_1_2”);
}

@Override
 public void stateChanged(ChangeEvent e) {
  JSlider s = (JSlider)e.getSource();
  label.setText(“Value : ” + s.getValue()); 
 }

@Override
 public void keyTyped(KeyEvent e) { 
 }

 @Override
 public void keyPressed(KeyEvent e) {
 }

 @Override
 public void keyReleased(KeyEvent e) {
     int key = e.getKeyCode();
     if (key == KeyEvent.VK_ENTER) {
      Toolkit.getDefaultToolkit().beep();
      System.out.println(“ENTER pressed”);
      JTextField t = (JTextField) e.getSource();
     int value = Integer.parseUnsignedInt(t.getText());
     slider.setValue(value);
     }
 }

 @Override
 public void actionPerformed(ActionEvent e) {
  JButton b = (JButton)e.getSource();
  if (b == button) {
   this.setVisible(false);
   this.dispose();
  }
 }

}