import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class Calculator extends JFrame{

// Declare GUI components
   private JTextField jtfFirst;
   private JTextField jtfSecond;
   private JTextField jtfResult;
   private JLabel jlblFirst;
   private JLabel jlblSecond;
   private JLabel jlblResult;
   private JPanel entryPanel;
   private JPanel buttonPanel;
   private JButton jbtAdd;
   private JButton jbtSubtract;
   private JButton jbtMultiply;
   private JButton jbtDivide;

// main method to instantiate and customize frame
   public static void main(String[] args)
   {
       Calculator frame = new Calculator();
       frame.setTitle( "Four Function Calculator");
       frame.setSize( 500, 120 );
       frame.setLocation(400, 400);
       frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
       frame.setVisible(true);
   }
// GUI constructor
   public Calculator()
   {
       // Instantiate GUI components for top of frame
       jlblFirst = new JLabel( "First Number: ", JLabel.CENTER );
       jlblSecond = new JLabel( "Second Number: ", JLabel.CENTER );
       jlblResult = new JLabel( "Result: ", JLabel.CENTER );
       jtfFirst = new JTextField(5);
       jtfSecond = new JTextField(5);
       jtfResult = new JTextField(10);
       entryPanel = new JPanel();

       // make result text field uneditable
       jtfResult.setEditable( false );

       // Set layout manager of panel
       entryPanel.setLayout( new FlowLayout());

       // add GUI components to panel
       entryPanel.add( jlblFirst );
       entryPanel.add( jtfFirst );
       entryPanel.add( jlblSecond );
       entryPanel.add( jtfSecond );
       entryPanel.add( jlblResult );
       entryPanel.add( jtfResult );

       // add entryPanel to frame
       add(entryPanel);
       setLayout(new FlowLayout());

       // Instantiate GUI components for bottom of frame
       jbtAdd = new JButton( "Add" );
       jbtAdd.setVerticalTextPosition(AbstractButton.CENTER);
       jbtAdd.setHorizontalTextPosition(AbstractButton.LEADING);
       jbtAdd.setMnemonic(KeyEvent.VK_A);
       jbtSubtract = new JButton( "Subtract" );
       jbtSubtract.setVerticalTextPosition(AbstractButton.CENTER);
       jbtSubtract.setHorizontalTextPosition(AbstractButton.LEADING);
       jbtSubtract.setMnemonic(KeyEvent.VK_S);
       jbtMultiply = new JButton( "Multiply" );
       jbtMultiply.setVerticalTextPosition(AbstractButton.CENTER);
       jbtMultiply.setHorizontalTextPosition(AbstractButton.LEADING);
       jbtMultiply.setMnemonic(KeyEvent.VK_M);
       jbtDivide = new JButton( "Divide" );
       jbtDivide.setVerticalTextPosition(AbstractButton.CENTER);
       jbtDivide.setHorizontalTextPosition(AbstractButton.LEADING);
       jbtDivide.setMnemonic(KeyEvent.VK_D);
       buttonPanel = new JPanel();

       // add buttons to panel
       buttonPanel.add( jbtAdd );
       buttonPanel.add( jbtSubtract );
       buttonPanel.add( jbtMultiply );
       buttonPanel.add( jbtDivide );

       // add buttonPanel to frame
       add( buttonPanel, BorderLayout.SOUTH);

       //Event Handler
       jbtAdd.addMouseListener(new List_ButtonADD());
       jbtSubtract.addMouseListener(new List_ButtonSUB());
       jbtDivide.addMouseListener(new List_ButtonDIV());
       jbtMultiply.addMouseListener(new List_ButtonMUL());
   }



   private class List_ButtonADD implements MouseListener
   {
       public void mouseClicked(MouseEvent event)
       {
           double x=Double.parseDouble(jtfFirst.getText());
           double y=Double.parseDouble(jtfSecond.getText());
           jtfResult.setText(String.valueOf(x+y));
       }
       public void mousePressed(MouseEvent event)
       {
       }
       public void mouseReleased(MouseEvent event)
       {
       }
       public void mouseEntered(MouseEvent event)
       {
       }
       public void mouseExited(MouseEvent event)
       {
       }
   }
   private class List_ButtonDIV implements MouseListener
   {
       int cnt=0;
       public void mouseClicked(MouseEvent event)
       {
           double x=Double.parseDouble(jtfFirst.getText());
           double y=Double.parseDouble(jtfSecond.getText());
           jtfResult.setText(String.valueOf(x/y));;
       }
       public void mousePressed(MouseEvent event)
       {
       }
       public void mouseReleased(MouseEvent event)
       {
       }
       public void mouseEntered(MouseEvent event)
       {
       }
       public void mouseExited(MouseEvent event)
       {
       }
   }
   private class List_ButtonSUB implements MouseListener
   {
       int cnt=0;
       public void mouseClicked(MouseEvent event)
       {
           double x=Double.parseDouble(jtfFirst.getText());
           double y=Double.parseDouble(jtfSecond.getText());
           jtfResult.setText(String.valueOf(x-y));
       }
       public void mousePressed(MouseEvent event)
       {
       }
       public void mouseReleased(MouseEvent event)
       {
       }
       public void mouseEntered(MouseEvent event)
       {
       }
       public void mouseExited(MouseEvent event)
       {
       }
   }
   private class List_ButtonMUL implements MouseListener
   {
       int cnt=0;
       public void mouseClicked(MouseEvent event)
       {
           double x=Double.parseDouble(jtfFirst.getText());
           double y=Double.parseDouble(jtfSecond.getText());
           jtfResult.setText(String.valueOf(x*y));
       }
       public void mousePressed(MouseEvent event)
       {
       }
       public void mouseReleased(MouseEvent event)
       {
       }
       public void mouseEntered(MouseEvent event)
       {
       }
       public void mouseExited(MouseEvent event)
       {
       }
   }
}

Because your code doesn't include anything to process key events? (It only has listeners for mouse click events.)

im still begineer in java -_- can you teach me how ? and what is key event process.

add a KeyEventListener to a component, and implement the methods from the interface.

can you show some coding or source so i can refer -_- tq i appericiate.

it's exactly the same as what you did with those MouseListeners

ouhh okay tq :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.