Solved

In the numeric keypad program, if i press sum number it should be displayed in the label in the top white space.  How do i do that? Please some one help me asap

Posted on 2009-03-29
6
434 Views
Last Modified: 2012-08-13
In the numeric keypad program, if i press sum number it should be displayed in the label in the top white space.  How do i do that? Please some one help me asap
import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;
 

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;
 

public class NumericKeyPad extends JPanel {

    //-----------------------------------------------------------------

    //  Creates several bordered panels and displays them.

    //-----------------------------------------------------------------
 

    public static void main(String[] args) {

        JFrame frame = new JFrame("Numeric Keypad");

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 

        JPanel panel = new JPanel();

        panel.setLayout(new GridLayout(4, 3));

        panel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 3));

        panel.setBackground(Color.white);
 

        JButton b1 = new JButton("1");

        JButton b2 = new JButton("2");

        JButton b3 = new JButton("3");

        JButton b4 = new JButton("4");

        JButton b5 = new JButton("5");

        JButton b6 = new JButton("6");

        JButton b7 = new JButton("7");

        JButton b8 = new JButton("8");

        JButton b9 = new JButton("9");

        JButton b11 = new JButton("");

        JButton b0 = new JButton("0");

        JButton b12 = new JButton("");
 

        panel.add(b1);

        panel.add(b2);

        panel.add(b3);

        panel.add(b4);

        panel.add(b5);

        panel.add(b6);

        panel.add(b7);

        panel.add(b8);

        panel.add(b9);

        panel.add(b11);

        panel.add(b0);

        panel.add(b12);

        

        frame.getContentPane().setLayout(new BorderLayout());

        frame.getContentPane().add(panel,BorderLayout.CENTER);

        JButton clearBt = new JButton("Clear");

        JTextField number = new JTextField();

        number.setColumns(15);

        frame.getContentPane().add(number,BorderLayout.NORTH);

        frame.getContentPane().add(clearBt,BorderLayout.EAST);
 

        frame.pack();

        frame.setVisible(true);
 

    }

    

}

Open in new window

0
Comment
Question by:deeppatel1986
6 Comments
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
Comment Utility
you need to use an action listener.

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
 
public class NumericKeyPad extends JPanel {
    //-----------------------------------------------------------------
    //  Creates several bordered panels and displays them.
    //-----------------------------------------------------------------
 
    public static void main(String[] args) {
        JFrame frame = new JFrame("Numeric Keypad");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(4, 3));
        panel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 3));
        panel.setBackground(Color.white);
 
        JButton b1 = new JButton("1");
        JButton b2 = new JButton("2");
        JButton b3 = new JButton("3");
        JButton b4 = new JButton("4");
        JButton b5 = new JButton("5");
        JButton b6 = new JButton("6");
        JButton b7 = new JButton("7");
        JButton b8 = new JButton("8");
        JButton b9 = new JButton("9");
        JButton b11 = new JButton("");
        JButton b0 = new JButton("0");
        JButton b12 = new JButton("");
 
        panel.add(b1);
        panel.add(b2);
        panel.add(b3);
        panel.add(b4);
        panel.add(b5);
        panel.add(b6);
        panel.add(b7);
        panel.add(b8);
        panel.add(b9);
        panel.add(b11);
        panel.add(b0);
        panel.add(b12);
       
        frame.getContentPane().setLayout(new BorderLayout());
        frame.getContentPane().add(panel,BorderLayout.CENTER);
        JButton clearBt = new JButton("Clear");
        final JTextField number = new JTextField();
        number.setColumns(15);
        frame.getContentPane().add(number,BorderLayout.NORTH);
        frame.getContentPane().add(clearBt,BorderLayout.EAST);
 
        // create an action listener that appends the number pressed to the text field
       
        ActionListener actionListener = new ActionListener() {

                  public void actionPerformed(ActionEvent e) {
                        
                        // get the number entered
                        
                        String digit = e.getActionCommand();
                        
                        // append number to the text field
                        
                        number.setText(number.getText()+digit);
                  }
              
        };
       
        // add action listeners to buttons

        b1.addActionListener(actionListener);
        b2.addActionListener(actionListener);
        // same for other number buttons
       
        frame.pack();
        frame.setVisible(true);
 
    }
   
}

http://java.sun.com/docs/books/tutorial/uiswing/events/actionlistener.html
0
 
LVL 15

Expert Comment

by:fsze88
Comment Utility

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

 

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

 import java.awt.event.MouseAdapter;
 

import java.awt.event.MouseEvent;

public class NumericKeyPad extends JFrame {

    //-----------------------------------------------------------------

    //  Creates several bordered panels and displays them.

    //-----------------------------------------------------------------

    int preInt=0;

        JButton clearBt = new JButton("Clear");

        JTextField number = new JTextField();

        JButton b1 = new JButton("1");

        JButton b2 = new JButton("2");

        JButton b3 = new JButton("3");

        JButton b4 = new JButton("4");

        JButton b5 = new JButton("5");

        JButton b6 = new JButton("6");

        JButton b7 = new JButton("7");

        JButton b8 = new JButton("8");

        JButton b9 = new JButton("9");

        JButton b11 = new JButton("+");

        JButton b0 = new JButton("0");

        JButton b12 = new JButton("=");

    

    public NumericKeyPad(){

        JFrame frame = new JFrame("Numeric Keypad");

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

        JPanel panel = new JPanel();

        panel.setLayout(new GridLayout(4, 3));

        panel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 3));

        panel.setBackground(Color.white);

            b1.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(number.getText() + "1");

                }

            });

            b2.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(number.getText() + "2");

                }

            });

            b3.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(number.getText() + "3");

                }

            });

            b4.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(number.getText() + "4");

                }

            });

            b5.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(number.getText() + "5");

                }

            });

            b6.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(number.getText() + "6");
 

                }

            });

            b7.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(number.getText() + "7");

                }

            });

            b8.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(number.getText() + "8");

                }

            });

            b9.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(number.getText() + "9");

                }

            });

             b11.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    preInt = Integer.parseInt(number.getText());

                    number.setText("");

                }

            });

            b12.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText(String.valueOf((preInt + Integer.parseInt(number.getText()))));

                }

            });

            clearBt.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    number.setText("");

                    preInt= 0;

                }

            });

        panel.add(b1);

        panel.add(b2);

        panel.add(b3);

        panel.add(b4);

        panel.add(b5);

        panel.add(b6);

        panel.add(b7);

        panel.add(b8);

        panel.add(b9);

        panel.add(b11);

        panel.add(b0);

        panel.add(b12);

        

        frame.getContentPane().setLayout(new BorderLayout());

        frame.getContentPane().add(panel,BorderLayout.CENTER);

        number.setColumns(15);

        frame.getContentPane().add(number,BorderLayout.NORTH);

        frame.getContentPane().add(clearBt,BorderLayout.EAST);

 

        frame.pack();

        frame.setVisible(true);    

    

    }

    

    

    public static void main(String[] args) {

        new NumericKeyPad();
 

 

    }

    

}

Open in new window

0
 
LVL 2

Expert Comment

by:mhaq_java
Comment Utility
Following link can be helpful.
make a generic listener for all butons

http://www.roseindia.net/java/example/java/awt/KeyPress.shtml
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 

Author Comment

by:deeppatel1986
Comment Utility
Hey savan i need actionListener for the clear button. Please help ASAP
import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;
 

public class NumericKeyPad extends JPanel {

    //-----------------------------------------------------------------

    //  Creates several bordered panels and displays them.

    //-----------------------------------------------------------------

int preInt=0;
 

    public static void main(String[] args) {

        JFrame frame = new JFrame("Numeric Keypad");

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 

        JPanel panel = new JPanel();

        panel.setLayout(new GridLayout(4, 3));

        panel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 3));

        panel.setBackground(Color.white);
 

        JButton b1 = new JButton("1");

        JButton b2 = new JButton("2");

        JButton b3 = new JButton("3");

        JButton b4 = new JButton("4");

        JButton b5 = new JButton("5");

        JButton b6 = new JButton("6");

        JButton b7 = new JButton("7");

        JButton b8 = new JButton("8");

        JButton b9 = new JButton("9");

        JButton b11 = new JButton("");

        JButton b0 = new JButton("0");

        JButton b12 = new JButton("");
 

        panel.add(b1);

        panel.add(b2);

        panel.add(b3);

        panel.add(b4);

        panel.add(b5);

        panel.add(b6);

        panel.add(b7);

        panel.add(b8);

        panel.add(b9);

        panel.add(b11);

        panel.add(b0);

        panel.add(b12);

        

        frame.getContentPane().setLayout(new BorderLayout());

        frame.getContentPane().add(panel,BorderLayout.CENTER);

        JButton clearBt = new JButton("Clear");

        final JTextField number = new JTextField();

        

        number.setColumns(15);

        frame.getContentPane().add(number,BorderLayout.NORTH);

        frame.getContentPane().add(clearBt,BorderLayout.EAST);
 

        ActionListener actionListener = new ActionListener()

        {

            public void actionPerformed(ActionEvent e)

            {

                // get the number entered

                String digit = e.getActionCommand();

                // append number to the text field

                number.setText(number.getText()+digit);

            }

        };

        ActionListener actionListener1 = new ActionListener()

        {

            public void actionPerformed(ActionEvent e)

            {

                    //String clear = e.getActionCommand();

                    number.setText("");

            }

        };

        b1.addActionListener(actionListener);

        b2.addActionListener(actionListener);

        b3.addActionListener(actionListener);

        b4.addActionListener(actionListener);

        b5.addActionListener(actionListener);

        b6.addActionListener(actionListener);

        b7.addActionListener(actionListener);

        b8.addActionListener(actionListener);

        b9.addActionListener(actionListener);

        b11.addActionListener(actionListener);

        b0.addActionListener(actionListener);

        b12.addActionListener(actionListener);

        clearBt.addActionListener(actionListener);
 

        frame.pack();

        frame.setVisible(true);

    }

}

Open in new window

0
 
LVL 92

Expert Comment

by:objects
Comment Utility
>         clearBt.addActionListener(actionListener);

change to:

        clearBt.addActionListener(actionListener1);

0
 

Author Comment

by:deeppatel1986
Comment Utility
Thanks a lot
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
scoresSpecial  challenge 13 40
count11 challenge 6 47
Free Alternative to JIRA 4 51
mockito example issue 8 26
Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now