hi everyone :)
I have a problem here >>which I can't add 2 numbers >> and I don't know what is the solution for that !!>>it always gives me an empty result !and that is because (num2) always parse a (null) value ! so how can I edit the value of num2 then !
(the code that I want to do here is to >>first take the first num then setText(" ")>>then enter the seconde num >> then parse it >>then do the summation of these numbers !)
here is the code !
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calc extends JFrame{
private JButton B_9,B_8,B_7,B_6,B_5,B_4;
private JButton B_3,B_2,B_1,B_0,B_add,B_equal;
private JTextField T;
private String temp=" ",tempans=" ";
public Calc(){
super("Calculator");
setLayout(null);
T=new JTextField("0");
T.setHorizontalAlignment(FlowLayout.TRAILING);
T.setSize(360,30);
T.setLocation(40,20);
add(T);
B_9=new JButton("9");
B_9.setSize(60,30);
B_9.setLocation(190,260);
add( B_9);
B_8=new JButton("8");
B_8.setSize(60,30);
B_8.setLocation(115,260);
add( B_8);
B_7=new JButton("7");
B_7.setSize(60,30);
B_7.setLocation(40,260);
add( B_7);
B_6=new JButton("6");
B_6.setSize(60,30);
B_6.setLocation(190,300);
add( B_6);
B_5=new JButton("5");
B_5.setSize(60,30);
B_5.setLocation(115,300);
add( B_5);
B_4=new JButton("4");
B_4.setSize(60,30);
B_4.setLocation(40,300);
add( B_4);
B_3=new JButton("3");
B_3.setSize(60,30);
B_3.setLocation(190,340);
add( B_3);
B_2=new JButton("2");
B_2.setSize(60,30);
B_2.setLocation(115,340);
add( B_2);
B_1=new JButton("1");
B_1.setSize(60,30);
B_1.setLocation(40,340);
add( B_1);
B_0=new JButton("0");
B_0.setSize(60,30);
B_0.setLocation(40,380);
add( B_0);
B_add=new JButton("+");
B_add.setSize(60,30);
B_add.setLocation(265,340);
add(B_add);
B_equal=new JButton("=");
B_equal.setSize(60,30);
B_equal.setLocation(340,380);
add( B_equal);
Inner Handler=new Inner ();
B_9.addActionListener(Handler);
B_8.addActionListener(Handler);
B_7.addActionListener(Handler);
B_6.addActionListener(Handler);
B_5.addActionListener(Handler);
B_4.addActionListener(Handler);
B_3.addActionListener(Handler);
B_2.addActionListener(Handler);
B_1.addActionListener(Handler);
B_0.addActionListener(Handler);
B_equal.addActionListener(Handler);
B_add.addActionListener(Handler);
}
private class Inner implements ActionListener {
public void actionPerformed (ActionEvent E){
String out=T.getText();
String String_output;
if (E.getSource()==B_9){
String s=new String ();
s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
String S=new String ();
S=T.getText();
T.setText(S+"9");
}
else {
int num=Integer.parseInt(out);
String result_string=Integer.toString(num);
T.setText(result_string+"9");
}
}
else {
T.setText("0");
T.setText("9");
tempans="9";
}
}
if (E.getSource()==B_8){
String s=new String ();
s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
String S=new String ();
S=T.getText();
T.setText(S+"8");
}
else {
int num=Integer.parseInt(out);
String result_string=Integer.toString(num);
T.setText(result_string+"8");
}
}
else {
T.setText("0");
T.setText("8");
tempans="8";
}
}
if (E.getSource()==B_7){
String s=new String ();
s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
String S=new String ();
S=T.getText();
T.setText(S+"7");
}
else {
int num=Integer.parseInt(out);
String result_string=Integer.toString(num);
T.setText(result_string+"7");
}
}
else {
T.setText("0");
T.setText("7");
}
}
if (E.getSource()==B_6){
String s=new String ();
s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
String S=new String ();
S=T.getText();
T.setText(S+"6");
}
else {
int num=Integer.parseInt(out);
String result_string=Integer.toString(num);
T.setText(result_string+"6");
}
}
else {
T.setText("0");
T.setText("6");
}
}
if (E.getSource()==B_5){
String s=new String ();
s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
String S=new String ();
S=T.getText();
T.setText(S+"5");
}
else {
int num=Integer.parseInt(out);
String result_string=Integer.toString(num);
T.setText(result_string+"5");
}
}
else {
T.setText("0");
T.setText("5");
}
}
if (E.getSource()==B_4){
String s=new String ();
s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
String S=new String ();
S=T.getText();
T.setText(S+"4");
}
else {
int num=Integer.parseInt(out);
String result_string=Integer.toString(num);
T.setText(result_string+"4");
}
}
else {
T.setText("0");
T.setText("4");
}
}
if (E.getSource()==B_3){
String s=new String ();
s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
String S=new String ();
S=T.getText();
T.setText(S+"3");
}
else {
int num=Integer.parseInt(out);
String result_string=Integer.toString(num);
T.setText(result_string+"3");
}
}
else {
T.setText("0");
T.setText("3");
}
}
if (E.getSource()==B_2){
String s=new String ();
s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
String S=new String ();
S=T.getText();
T.setText(S+"2");
}
else {
int num=Integer.parseInt(out);
String result_string=Integer.toString(num);
T.setText(result_string+"2");
}
}
else {
T.setText("0");
T.setText("2");
}
}
if (E.getSource()==B_1){
String s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
String S=new String ();
S=T.getText();
T.setText(S+"1");
}
else {
int num=Integer.parseInt(out);
//temp +=num;
String result_string=Integer.toString(num);
T.setText(result_string+"1");
}
}
else {
T.setText("0");
//temp="1";
T.setText("1");
}
}
if (E.getSource()==B_0){
String s=new String ();
s=T.getText();
if (!s.isEmpty()){
char c[]=new char [10];
c=s.toCharArray();
boolean a=true;
for(int m=0;m<c.length;m++){
if(!Character.isDigit(c[m])){ a=false;}
}
if (!a){
//T.setText("0");
String S=new String ();
S=T.getText();
T.setText(S+"0");
}
else {
int num=Integer.parseInt(out);
String result_string=Integer.toString(num);
T.setText(result_string+"0");
}
}
else {
T.setText("0");
T.setText("0");
}
}
if (E.getSource()==B_add){
Double number=Double.parseDouble(out);
double addition=0;
double number2;
T.setText(" ");
number2=Double.parseDouble(tempans);
System.out.println("n"+number2);
addition = (number+number2);
String resulte=Double.toString(addition);
temp+=resulte;
String_output=B_add.getActionCommand();
}//fun add
if (E.getSource()==B_equal){
T.setText(temp);
}
public static void main(String[] args) {
Calc v=new Calc();
v.setSize(450,500);
v.setVisible(true);
v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}}