All pastes #1763270 Raw Edit

Someone

public java v1 · immutable
#1763270 ·published 2010-01-23 21:19 UTC
rendered paste body
import javax.swing.*;
import java.awt.event.*;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import javax.swing.plaf.metal.MetalLookAndFeel;
import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;
import java.util.*;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.applet.Applet;
import java.awt.Font;
import java.awt.event.KeyListener;


	public class Kalkulator extends JApplet implements KeyListener{
		private MyDialogs dlg = new MyDialogs(null);
		private Toolkit toolkit;
		private JPanel panel;
		JButton jeden = new JButton(" 1 ");
		JButton zero = new JButton(" 0 ");
		JButton plus = new JButton(" + ");
		JButton minus = new JButton(" - ");
		JButton mnozenie = new JButton(" * ");
		JButton dzielenie = new JButton(" / ");
		JButton modulo = new JButton(" % ");
		JButton rownosc = new JButton(" = ");
		JButton kasuj = new JButton(" C ");
		JButton info=new JButton("INFO");
		JButton wyjscie=new JButton("WYJSCIE");
		private JLabel t;
		public int j,i=1;
		private int p,min,mn,dz,mod,row,dzialanie;
		private boolean pp,minp,mnp,dzp,modp,rowp;
		private long liczbap = 0;
		private String memory = "0";
		private String liczba;
		private Boolean wynikNaWyswietlaczu = true;
		private String liczba1,l1,l2,wynik;
		private	long n;
		public void init( ){
			
			//Wycentrowanie okna
			toolkit = getToolkit();
			Dimension size = toolkit.getScreenSize();
			setLocation(size.width/2 - getWidth()/2, size.height/2 - getHeight()/2);
			/* */
			
			panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
			getContentPane().add(panel);
			panel.setLayout(null);
			
			JPanel fields = new JPanel(new FlowLayout());
			/*t.setEditable(false);*/
			t = new JLabel("0");
			t.setHorizontalTextPosition(JLabel.RIGHT);
			t.setBounds(20, 20, 230, 30);
			t.setFont(new Font("Arial", Font.BOLD, 30));
			fields.add(t);
			
			JPanel buttons = new JPanel(new GridLayout(2,1));
			buttons.add(zero);
			zero.setFont(new Font("Arial", Font.BOLD, 30));
			zero.setForeground(Color.blue);
			buttons.add(jeden);
			jeden.setFont(new Font("Arial", Font.BOLD, 30));
			jeden.setForeground(Color.blue);
			
			JPanel buttons2 = new JPanel(new GridLayout(3,2));
			buttons2.add(plus);
			plus.setForeground(Color.red);
			plus.setFont(new Font("Arial", Font.BOLD, 30));
			buttons2.add(minus);
			minus.setForeground(Color.red);
			minus.setFont(new Font("Arial", Font.BOLD, 30));
			buttons2.add(mnozenie);
			mnozenie.setForeground(Color.red);
			mnozenie.setFont(new Font("Arial", Font.BOLD, 30));
			buttons2.add(dzielenie);
		    dzielenie.setForeground(Color.red);
			dzielenie.setFont(new Font("Arial", Font.BOLD, 30));
			buttons2.add(modulo);
			modulo.setFont(new Font("Arial", Font.BOLD, 30));
			modulo.setForeground(Color.red);
			buttons2.add(rownosc);
			rownosc.setFont(new Font("Arial", Font.BOLD, 30));
			buttons2.add(kasuj);
			rownosc.setForeground(Color.red);
			kasuj.setFont(new Font("Arial", Font.BOLD, 30));
			kasuj.setForeground(Color.red);
			buttons2.add(info);
			info.setFont(new Font("Arial", Font.BOLD, 30));
			info.setForeground(Color.green);
			buttons2.add(wyjscie);
			wyjscie.setFont(new Font("Arial", Font.BOLD, 30));
			wyjscie.setForeground(Color.pink);
								
			getContentPane().setLayout(new BorderLayout());
			getContentPane().add("North", fields);
			getContentPane().add("Center", buttons);
			getContentPane().add("East", buttons2);
			
			ActionListener sl1=new Zero();
			zero.addActionListener(sl1);
			
			ActionListener sl2=new Jeden();
			jeden.addActionListener(sl2); 
			
			ActionListener sl3=new Dodaj();
			plus.addActionListener(sl3); 
				
			ActionListener sl4=new Odejmij();
			minus.addActionListener(sl4); 
			
			ActionListener sl5=new Mnozenie();
			mnozenie.addActionListener(sl5); 
			
			ActionListener sl6=new Dzielenie();
			dzielenie.addActionListener(sl6); 
			
			ActionListener sl7=new Modulo();
			modulo.addActionListener(sl7); 
			
			ActionListener sl8=new Rownosc();
			rownosc.addActionListener(sl8); 
			
			ActionListener sl9=new Kasuj();
			kasuj.addActionListener(sl9);
			
			
			info.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					dlg.setVisible(true);
				}
			});
			
			setVisible(true);
			
			ActionListener s20=new Wyjscie();
			wyjscie.addActionListener(s20);
			
			rownosc.setToolTipText("Oblicz");
			zero.setToolTipText("Przycisk 0");
			jeden.setToolTipText("Przycisk 1");
			plus.setToolTipText("Dodaj");
			minus.setToolTipText("Odejmij");
			mnozenie.setToolTipText("Mnozenie");
			dzielenie.setToolTipText("Dzielenie");
			modulo.setToolTipText("Modulo");
			kasuj.setToolTipText("Wyczysc");
			info.setToolTipText("Info");
			wyjscie.setToolTipText("Wyjdz");
			addKeyListener(this);
			requestFocus(); // request input focus
			
		}
		
		public void keyTyped( KeyEvent ey ){  
			
		}  
		public void keyPressed( KeyEvent ey){  
			int key = ey.getKeyCode();
			switch(key) {
				case KeyEvent.VK_1:
					liczba = "";
					i++;
					if(!wynikNaWyswietlaczu && !t.getText().equals("0")){
						liczba = t.getText();
						j++;
					}
					if(liczba.length() < 30){
						liczba += "1";
					}
					
					wynikNaWyswietlaczu = false;
					t.setText(liczba);
					break;
				case KeyEvent.VK_0:
					liczba = "";
					if(!wynikNaWyswietlaczu && !t.getText().equals("0")){
						liczba = t.getText();
					}
					if(liczba.length() <= 30){
						liczba += "0";
					}
				
					wynikNaWyswietlaczu = false;
					t.setText(liczba);
					break;
				case KeyEvent.VK_P:
					if( p == 0 ){
						p++;
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							liczbap = liczbap + 0;
							memory = "0";
							pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
							t.setText("0");
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 =(liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								t.setText("0");
								}
							}
						}
						else{
							p++;min++;mn++;dz++;mod++;
							liczba1 = t.getText();
							if( pp == true ){
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = liczbap + 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										
									}
								}
								else{
									try{
										Liczba liczba = new Liczba(liczba1,2);
										l1 = (liczba.zapis(10));
									}
									catch(LiczbaException ex ){
										t.setText(ex.getMessage());
									}
									n = Integer.parseInt(l1);
									if( n > 1073741823 ){
										t.setText("Liczba jest za duza.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										liczbap = liczbap + n;
										wynik = Long.toString(liczbap);
										try{
											Liczba liczba = new Liczba(wynik,10);
											l2 = (liczba.zapis(2));
										}
										catch(LiczbaException ex){
											t.setText(ex.getMessage());
										}
										memory = l2;
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
							}
							else{
								if( minp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										if(liczbap == 0 ){
											liczbap = liczbap + 0;
											memory = "0";
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										if( liczbap <= n ){
											liczbap = 0;memory="0";
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j =1;
										}
										else{
											liczbap = liczbap - n;
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
								else{
									if( mnp== true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											if(liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}
										else{
											if(liczbap == 0){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = liczbap * n;
												if( liczbap > 1073741823){
													t.setText("Wynik jest za duzy. Nacisnij C");
													jeden.setEnabled(false);
													zero.setEnabled(false);
													plus.setEnabled(false);
													minus.setEnabled(false);
													mnozenie.setEnabled(false);
													dzielenie.setEnabled(false);
													modulo.setEnabled(false);
													rownosc.setEnabled(false);
												}
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText("0");
													pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
											}
										}
									}
									else{
										if( dzp == true ){
											liczba1 = t.getText();
											if(liczba1.equals("0")){
												t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
												jeden.setEnabled(false);
												zero.setEnabled(false);
												plus.setEnabled(false);
												minus.setEnabled(false);
												mnozenie.setEnabled(false);
												dzielenie.setEnabled(false);
												modulo.setEnabled(false);
												rownosc.setEnabled(false);
											}
											else{
												if( liczbap == 0){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = (int)Math.floor(liczbap/n);
													if( liczbap == 0 ){
														memory = "0";
														t.setText("0");
														pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}	
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}	
												}										
											}
										}
										else{
											if( modp == true ){
												liczba1 = t.getText();
												if(liczba1.equals("0")){
													t.setText("Nieokreslony wynik funkji");
													jeden.setEnabled(false);
													zero.setEnabled(false);
													plus.setEnabled(false);
													minus.setEnabled(false);
													mnozenie.setEnabled(false);
													dzielenie.setEnabled(false);
													modulo.setEnabled(false);
													rownosc.setEnabled(false);
												}
												else{
													if( liczbap == 0 ){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														if( liczba1.equals("1")){
															liczbap = 0;
															memory = "0";
															t.setText("0");
															pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
															i = 1; j = 1;
														}
														else{
															try{
																Liczba liczba = new Liczba(liczba1,2);
																l1 = (liczba.zapis(10));
															}
															catch(LiczbaException ex ){
																t.setText(ex.getMessage());
															}
															n = Integer.parseInt(l1);
															liczbap = liczbap%n;
															if(liczbap == 0){
																liczbap = 0;
																memory = "0";
																t.setText("0");
																pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
																i = 1; j = 1;
															}
															else{
																wynik = Long.toString(liczbap);
																try{
																	Liczba liczba = new Liczba(wynik,10);
																	l2 = (liczba.zapis(2));
																}
																catch(LiczbaException ex){
																	t.setText(ex.getMessage());
																}
																memory = l2;
																t.setText("0");
																pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
																i = 1; j = 1;
															}
														}
													}		
												}
											}
										}
									}
								}
							}
						}
					break;
					case KeyEvent.VK_O:
						p++;mn++;dz++;mod++;
						if( min == 0 ){
						min++;
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							liczbap = liczbap - 0;
							memory = "0";
							t.setText("0");
							pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
							i = 1; j = 1;
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( pp == true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( n > 1073741823 ){
									t.setText("Liczba jest za duza.Nacisnij C");
									jeden.setEnabled(false);
									zero.setEnabled(false);
									plus.setEnabled(false);
									minus.setEnabled(false);
									mnozenie.setEnabled(false);
									dzielenie.setEnabled(false);
									modulo.setEnabled(false);
									rownosc.setEnabled(false);
								}
								else{
								liczbap = liczbap + n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( minp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = liczbap + 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										t.setText("0");
										pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									try{
										Liczba liczba = new Liczba(liczba1,2);
										l1 = (liczba.zapis(10));
									}
									catch(LiczbaException ex ){
										t.setText(ex.getMessage());
									}
									n = Integer.parseInt(l1);
									if( liczbap <= n ){
										liczbap = 0;memory="0";
										t.setText("0");
										pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j =1;
									}
									else{
										liczbap = liczbap - n;
										wynik = Long.toString(liczbap);
										try{
											Liczba liczba = new Liczba(wynik,10);
											l2 = (liczba.zapis(2));
										}
										catch(LiczbaException ex){
											t.setText(ex.getMessage());
										}
										memory = l2;
										t.setText("0");
										pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
							}
							else{
								if( mnp== true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										if(liczbap == 0 ){
											liczbap = 0;
											memory = "0";
											t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											liczbap = 0;
											memory = "0";
											t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
									else{
										if(liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = liczbap * n;
											if( liczbap > 1073741823){
												t.setText("Wynik jest za duzy. Nacisnij C");
												jeden.setEnabled(false);
												zero.setEnabled(false);
												plus.setEnabled(false);
												minus.setEnabled(false);
												mnozenie.setEnabled(false);
												dzielenie.setEnabled(false);
												modulo.setEnabled(false);
												rownosc.setEnabled(false);
											}
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
													catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}
									}
								}
								else{
									if( dzp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = (int)Math.floor(liczbap/n);
												if( liczbap == 0 ){
													memory = "0";
													t.setText("0");
													pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}	
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
														catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText("0");
													pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
											}										
										}
									}
									else{
										if( modp == true ){
											liczba1 = t.getText();
											if(liczba1.equals("0")){
												t.setText("Nieokreslony wynik funkji");
												jeden.setEnabled(false);
												zero.setEnabled(false);
												plus.setEnabled(false);
												minus.setEnabled(false);
												mnozenie.setEnabled(false);
												dzielenie.setEnabled(false);
												modulo.setEnabled(false);
												rownosc.setEnabled(false);
											}
											else{
												if( liczbap == 0 ){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													if( liczba1.equals("1")){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														try{
															Liczba liczba = new Liczba(liczba1,2);
															l1 = (liczba.zapis(10));
														}
														catch(LiczbaException ex ){
															t.setText(ex.getMessage());
														}
														n = Integer.parseInt(l1);
														liczbap = liczbap%n;
														if(liczbap == 0){
															liczbap = 0;
															memory = "0";
															t.setText("0");
															pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
															i = 1; j = 1;
														}
														else{
															wynik = Long.toString(liczbap);
															try{
																Liczba liczba = new Liczba(wynik,10);
																l2 = (liczba.zapis(2));
															}
															catch(LiczbaException ex){
																t.setText(ex.getMessage());
															}
															memory = l2;
															t.setText("0");
															pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
															i = 1; j = 1;
														}
													}
												}		
											}
										}
									}
								}
							}
						}
					}
					break;
				case KeyEvent.VK_R:
					p++;min++;dz++;mod++;
					if( mn == 0 ){
						mn++;
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							memory = "0";
							t.setText("0");
							pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
							i = 1; j = 1;
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( pp == true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( n > 1073741823 ){
									t.setText("Liczba jest za duza.Nacisnij C");
									jeden.setEnabled(false);
									zero.setEnabled(false);
									plus.setEnabled(false);
									minus.setEnabled(false);
									mnozenie.setEnabled(false);
									dzielenie.setEnabled(false);
									modulo.setEnabled(false);
									rownosc.setEnabled(false);
								}
								else{
									liczbap = liczbap + n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( minp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = liczbap + 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									try{
										Liczba liczba = new Liczba(liczba1,2);
										l1 = (liczba.zapis(10));
									}
									catch(LiczbaException ex ){
										t.setText(ex.getMessage());
									}
									n = Integer.parseInt(l1);
									if( liczbap <= n ){
										liczbap = 0;memory="0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j =1;
									}
									else{
										liczbap = liczbap - n;
										wynik = Long.toString(liczbap);
										try{
											Liczba liczba = new Liczba(wynik,10);
											l2 = (liczba.zapis(2));
										}
										catch(LiczbaException ex){
											t.setText(ex.getMessage());
										}
										memory = l2;
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
							}
							else{
								if( mnp== true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										if(liczbap == 0 ){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
									else{
										if(liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = liczbap * n;
											if( liczbap > 1073741823){
												t.setText("Wynik jest za duzy. Nacisnij C");
												jeden.setEnabled(false);
												zero.setEnabled(false);
												plus.setEnabled(false);
												minus.setEnabled(false);
												mnozenie.setEnabled(false);
												dzielenie.setEnabled(false);
												modulo.setEnabled(false);
												rownosc.setEnabled(false);
											}
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}
									}
								}
								else{
									if( dzp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = (int)Math.floor(liczbap/n);
												if( liczbap == 0 ){
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}	
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText("0");
													pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
											}										
										}
									}
									else{
										if( modp == true ){
											liczba1 = t.getText();
											if(liczba1.equals("0")){
												t.setText("Nieokreslony wynik funkji");
												jeden.setEnabled(false);
												zero.setEnabled(false);
												plus.setEnabled(false);
												minus.setEnabled(false);
												mnozenie.setEnabled(false);
												dzielenie.setEnabled(false);
												modulo.setEnabled(false);
												rownosc.setEnabled(false);
											}
											else{
												if( liczbap == 0 ){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													if( liczba1.equals("1")){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														try{
															Liczba liczba = new Liczba(liczba1,2);
															l1 = (liczba.zapis(10));
														}
														catch(LiczbaException ex ){
															t.setText(ex.getMessage());
														}
														n = Integer.parseInt(l1);
														liczbap = liczbap%n;
														if(liczbap == 0){
															liczbap = 0;
															memory = "0";
															t.setText("0");
															pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
															i = 1; j = 1;
														}
														else{
															wynik = Long.toString(liczbap);
															try{
																Liczba liczba = new Liczba(wynik,10);
																l2 = (liczba.zapis(2));
															}	
															catch(LiczbaException ex){
																t.setText(ex.getMessage());
															}
															memory = l2;
															t.setText("0");
															pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
															i = 1; j = 1;
														}
													}
												}		
											}
										}
									}	
								}
							}
						}
					}
					break;
					case KeyEvent.VK_D:
						p++;min++;mn++;mod++;
						if( dz == 0 ){
							dz++;
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								liczbap = 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( n > 1073741823 ){
									t.setText("Liczba jest za duza.Nacisnij C");
									jeden.setEnabled(false);
									zero.setEnabled(false);
									plus.setEnabled(false);
									minus.setEnabled(false);
									mnozenie.setEnabled(false);
									dzielenie.setEnabled(false);
									modulo.setEnabled(false);
									rownosc.setEnabled(false);
								}
								else{
									liczbap = liczbap + n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( pp == true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = liczbap + 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									try{
										Liczba liczba = new Liczba(liczba1,2);
										l1 = (liczba.zapis(10));
									}
									catch(LiczbaException ex ){
										t.setText(ex.getMessage());
									}
									n = Integer.parseInt(l1);
									if( n > 1073741823 ){
										t.setText("Liczba jest za duza.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										liczbap = liczbap + n;
										wynik = Long.toString(liczbap);
										try{
											Liczba liczba = new Liczba(wynik,10);
											l2 = (liczba.zapis(2));
										}
										catch(LiczbaException ex){
											t.setText(ex.getMessage());
										}
										memory = l2;
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
							}
							else{
								if( minp== true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										if(liczbap == 0 ){
											liczbap = liczbap + 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										if( liczbap <= n ){
											liczbap = 0;memory="0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j =1;
										}
										else{
											liczbap = liczbap - n;
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
								else{
									if( mnp== true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											if(liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}
										else{
											if(liczbap == 0){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = liczbap * n;
												if( liczbap > 1073741823){
													t.setText("Wynik jest za duzy. Nacisnij C");
													jeden.setEnabled(false);
													zero.setEnabled(false);
													plus.setEnabled(false);
													minus.setEnabled(false);
													mnozenie.setEnabled(false);
													dzielenie.setEnabled(false);
													modulo.setEnabled(false);
													rownosc.setEnabled(false);
												}
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
													i = 1; j = 1;
												}
											}
										}
									}
									else{
										if( dzp == true ){
											liczba1 = t.getText();
											if(liczba1.equals("0")){
												t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
												jeden.setEnabled(false);
												zero.setEnabled(false);
												plus.setEnabled(false);
												minus.setEnabled(false);
												mnozenie.setEnabled(false);
												dzielenie.setEnabled(false);
												modulo.setEnabled(false);
												rownosc.setEnabled(false);
												i=1;j=1;
											}
											else{
												if( liczbap == 0){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = (int)Math.floor(liczbap/n);
													if( liczbap == 0 ){
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
														i = 1; j = 1;
													}	
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}										
											}
										}
										if( modp == true ){
											liczba1 = t.getText();
											if(liczba1.equals("0")){
												t.setText("Nieokreslony wynik funkji");
												jeden.setEnabled(false);
												zero.setEnabled(false);
												plus.setEnabled(false);
												minus.setEnabled(false);
												mnozenie.setEnabled(false);
												dzielenie.setEnabled(false);
												modulo.setEnabled(false);
												rownosc.setEnabled(false);
											}
											else{
												if( liczbap == 0 ){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													if( liczba1.equals("1")){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														try{
															Liczba liczba = new Liczba(liczba1,2);
															l1 = (liczba.zapis(10));
														}
														catch(LiczbaException ex ){
															t.setText(ex.getMessage());
														}
														n = Integer.parseInt(l1);
														liczbap = liczbap%n;
														if(liczbap == 0){
															liczbap = 0;
															memory = "0";
															t.setText("0");
															pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
															i = 1; j = 1;
														}
														else{
															wynik = Long.toString(liczbap);
															try{
																Liczba liczba = new Liczba(wynik,10);
																l2 = (liczba.zapis(2));
															}
															catch(LiczbaException ex){
																t.setText(ex.getMessage());
															}
															memory = l2;
															t.setText("0");
															pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
															i = 1; j = 1;
														}
													}
												}		
											}
										}
									}
								}
							}
						}
					break;
				case KeyEvent.VK_M:
					p++;min++;mn++;dz++;
					if( mod == 0 ){
						mod++;
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							liczbap = 0;
							memory = "0";
							t.setText("0");
							pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
							i = 1; j = 1;
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( pp == true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( n > 1073741823 ){
									t.setText("Liczba jest za duza.Nacisnij C");
									jeden.setEnabled(false);
									zero.setEnabled(false);
									plus.setEnabled(false);
									minus.setEnabled(false);
									mnozenie.setEnabled(false);
									dzielenie.setEnabled(false);
									modulo.setEnabled(false);
									rownosc.setEnabled(false);
								}
								else{
									liczbap = liczbap + n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( minp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = liczbap + 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
									else{
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									try{
										Liczba liczba = new Liczba(liczba1,2);
										l1 = (liczba.zapis(10));
									}
									catch(LiczbaException ex ){
										t.setText(ex.getMessage());
									}
									n = Integer.parseInt(l1);
									if( liczbap <= n ){
										liczbap = 0;memory="0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j =1;
									}
									else{
										liczbap = liczbap - n;
										wynik = Long.toString(liczbap);
										try{
											Liczba liczba = new Liczba(wynik,10);
											l2 = (liczba.zapis(2));
										}
										catch(LiczbaException ex){
											t.setText(ex.getMessage());
										}
										memory = l2;
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
								}
							}
							else{
								if( mnp== true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										if(liczbap == 0 ){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
											i = 1; j = 1;
										}
										else{
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
											i = 1; j = 1;
										}
									}
									else{
										if(liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = liczbap * n;
											if( liczbap > 1073741823){
												t.setText("Wynik jest za duzy. Nacisnij C");
												jeden.setEnabled(false);
												zero.setEnabled(false);
												plus.setEnabled(false);
												minus.setEnabled(false);
												mnozenie.setEnabled(false);
												dzielenie.setEnabled(false);
												modulo.setEnabled(false);
												rownosc.setEnabled(false);
											}
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j = 1;
											}
										}
									}
								}
								else{
									if( dzp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
											i=1;j=1;
										}
										else{
											if( liczbap == 0){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = (int)Math.floor(liczbap/n);
												if( liczbap == 0 ){
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
													i = 1; j = 1;
												}	
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
													i = 1; j=1;
												}
											}										
										}
									}
									else{
										if( modp == true ){
											liczba1 = t.getText();
											if(liczba1.equals("0")){
												t.setText("Nieokreslony wynik funkji");
												jeden.setEnabled(false);
												zero.setEnabled(false);
												plus.setEnabled(false);
												minus.setEnabled(false);
												mnozenie.setEnabled(false);
												dzielenie.setEnabled(false);
												modulo.setEnabled(false);
												rownosc.setEnabled(false);
											}
											else{
												if( liczbap == 0 ){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
													i = 1; j = 1;
												}
												else{
													if( liczba1.equals("1")){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
														i = 1; j = 1;
													}
													else{
														try{
															Liczba liczba = new Liczba(liczba1,2);
															l1 = (liczba.zapis(10));
														}
														catch(LiczbaException ex ){
															t.setText(ex.getMessage());
														}
														n = Integer.parseInt(l1);
														liczbap = liczbap%n;
														if(liczbap == 0){
															liczbap = 0;
															memory = "0";
															t.setText("0");
															pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
															i = 1; j = 1;
														}
														else{
															wynik = Long.toString(liczbap);
															try{
																Liczba liczba = new Liczba(wynik,10);
																l2 = (liczba.zapis(2));
															}
															catch(LiczbaException ex){
																t.setText(ex.getMessage());
															}
															memory = l2;
															t.setText("0");
															pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
															i = 1; j = 1;
														}
													}		
												}
											}
										}
									}
								}
							}
						}
					}	
					break;
				case KeyEvent.VK_ENTER:
					p++;min++;mn++;dz++;mod++;
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
							else{
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
								else{
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText(""+memory);
										pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText(""+memory);
										pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText(""+memory);
										pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
										i=1;j=1;
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText(""+memory);
												pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText(""+memory);
												pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
												i = 1; j=1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText(""+memory);
												pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText(""+memory);
													pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText(""+memory);
															pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText(""+memory);
														pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
														i = 1; j = 1;
													}
												}		
											}
										}
									}
								}
							}
						}
					}
					i = 1;j = 1;
					p =1; min=1; mn=1; dz = 1;mod = 1;
					jeden.setEnabled(false);
					zero.setEnabled(false);
					plus.setEnabled(false);
					minus.setEnabled(false);
					mnozenie.setEnabled(false);
					dzielenie.setEnabled(false);
					modulo.setEnabled(false);
					rownosc.setEnabled(false);		
					break;
				case KeyEvent.VK_ESCAPE:
					t.setText("0");
					i=1;j=1;
					p=min=mn=dz=mod=0;
					memory = "0";
					liczbap = 0;
					pp = false;minp = false;mnp = false;dzp = false;modp = false;rowp=false;
					jeden.setEnabled(true);
					zero.setEnabled(true);
					plus.setEnabled(true);
					minus.setEnabled(true);
					mnozenie.setEnabled(true);
					dzielenie.setEnabled(true);
					modulo.setEnabled(true);
					rownosc.setEnabled(true);
					break;
				case KeyEvent.VK_I:
					dlg.setVisible(true);
					break;
				}
				repaint();
		}  
		
		public void keyReleased( KeyEvent ey ){  
			 
		}  
		
		
		class Jeden implements ActionListener{
			public void actionPerformed(ActionEvent e){
				liczba = "";
				i++;
				if(!wynikNaWyswietlaczu && !t.getText().equals("0")){
					liczba = t.getText();
					j++;
				}
				if(liczba.length() < 30){
					liczba += "1";
				}
				
				wynikNaWyswietlaczu = false;
				t.setText(liczba);
					
				}
			}
			
		class Zero implements ActionListener{
			public void actionPerformed(ActionEvent e){
				liczba = "";
				if(!wynikNaWyswietlaczu && !t.getText().equals("0")){
					liczba = t.getText();
				}
				if(liczba.length() <= 30){
					liczba += "0";
				}
			
				wynikNaWyswietlaczu = false;
				t.setText(liczba);
			}
		}
		
		class Dodaj implements ActionListener{
		private String liczba1,l1,l2,wynik;
		private long n;
		public void actionPerformed(ActionEvent zdarzenie){
			if( p == 0 ){
				p++;
				liczba1 = t.getText();
				if(liczba1.equals("0")){
					liczbap = liczbap + 0;
					memory = "0";
					pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
					t.setText("0");
				}
				else{
					try{
						Liczba liczba = new Liczba(liczba1,2);
						l1 =(liczba.zapis(10));
					}
					catch(LiczbaException ex ){
						t.setText(ex.getMessage());
					}
					n = Integer.parseInt(l1);
					if( n > 1073741823 ){
						t.setText("Liczba jest za duza.Nacisnij C");
						jeden.setEnabled(false);
						zero.setEnabled(false);
						plus.setEnabled(false);
						minus.setEnabled(false);
						mnozenie.setEnabled(false);
						dzielenie.setEnabled(false);
						modulo.setEnabled(false);
						rownosc.setEnabled(false);
					}
					else{
						liczbap = liczbap + n;
						wynik = Long.toString(liczbap);
						try{
							Liczba liczba = new Liczba(wynik,10);
							l2 = (liczba.zapis(2));
						}
						catch(LiczbaException ex){
							t.setText(ex.getMessage());
						}
						memory = l2;
						
						pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
						t.setText("0");
						}
					}
				}
				else{
					p++;min++;mn++;dz++;mod++;
					liczba1 = t.getText();
					if( pp == true ){
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp == true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}
											}		
										}
									}
								}
							}
						}
					}
				}
			}
		}
		
		class Odejmij implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent zdarzenie){
				p++;mn++;dz++;mod++;
				if( min == 0 ){
					min++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						liczbap = liczbap - 0;
						memory = "0";
						t.setText("0");
						pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
													catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}
											}		
										}
									}
								}
							}
						}
					}
				}
			}
		}
		
		class Mnozenie implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent zdarzenie){
				p++;min++;dz++;mod++;
				if( mn == 0 ){
					mn++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						memory = "0";
						t.setText("0");
						pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
													catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}
											}		
										}
									}
								}	
							}
						}
					}
				}
			}
		}
		
		class Dzielenie implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent zdarzenie){
				p++;min++;mn++;mod++;
				if( dz == 0 ){
					dz++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						liczbap = 0;
						memory = "0";
						t.setText("0");
						pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
										i=1;j=1;
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								if( modp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nieokreslony wynik funkji");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0 ){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											if( liczba1.equals("1")){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = liczbap%n;
												if(liczbap == 0){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
													i = 1; j = 1;
												}
											}
										}		
									}
								}
							}
						}
					}
				}
			}
		}
		
		class Modulo implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent zdarzenie){
				p++;min++;mn++;dz++;
				if( mod == 0 ){
					mod++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						liczbap = 0;
						memory = "0";
						t.setText("0");
						pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
										i=1;j=1;
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j=1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
														i = 1; j = 1;
													}
												}		
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		
		class Rownosc implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent e){
				p++;min++;mn++;dz++;mod++;
				if( pp == true ){
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						if(liczbap == 0 ){
							liczbap = liczbap + 0;
							memory = "0";
							t.setText(""+memory);
							pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
							i = 1; j = 1;
						}
						else{
							t.setText(""+memory);
							pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
							i = 1; j = 1;
						}
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText(""+memory);
							pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( minp== true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
							else{
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( liczbap <= n ){
								liczbap = 0;memory="0";
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j =1;
							}
							else{
								liczbap = liczbap - n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( mnp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
								else{
									liczbap = 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
							}
							else{
								if(liczbap == 0){
									liczbap = 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
								else{
									try{
										Liczba liczba = new Liczba(liczba1,2);
										l1 = (liczba.zapis(10));
									}
									catch(LiczbaException ex ){
										t.setText(ex.getMessage());
									}
									n = Integer.parseInt(l1);
									liczbap = liczbap * n;
									if( liczbap > 1073741823){
										t.setText("Wynik jest za duzy. Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										wynik = Long.toString(liczbap);
										try{
											Liczba liczba = new Liczba(wynik,10);
											l2 = (liczba.zapis(2));
										}
										catch(LiczbaException ex){
											t.setText(ex.getMessage());
										}
										memory = l2;
										t.setText(""+memory);
										pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
										i = 1; j = 1;
									}
								}
							}
						}
						else{
							if( dzp == true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
									jeden.setEnabled(false);
									zero.setEnabled(false);
									plus.setEnabled(false);
									minus.setEnabled(false);
									mnozenie.setEnabled(false);
									dzielenie.setEnabled(false);
									modulo.setEnabled(false);
									rownosc.setEnabled(false);
									i=1;j=1;
								}
								else{
									if( liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText(""+memory);
										pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = (int)Math.floor(liczbap/n);
										if( liczbap == 0 ){
											memory = "0";
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j = 1;
										}	
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j=1;
										}
									}										
								}
							}
							else{
								if( modp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nieokreslony wynik funkji");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0 ){
											liczbap = 0;
											memory = "0";
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j = 1;
										}
										else{
											if( liczba1.equals("1")){
												liczbap = 0;
												memory = "0";
												t.setText(""+memory);
												pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = liczbap%n;
												if(liczbap == 0){
													liczbap = 0;
													memory = "0";
													t.setText(""+memory);
														pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
													i = 1; j = 1;
												}
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText(""+memory);
													pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
													i = 1; j = 1;
												}
											}		
										}
									}
								}
							}
						}
					}
				}
				i = 1;j = 1;
				p =1; min=1; mn=1; dz = 1;mod = 1;
				jeden.setEnabled(false);
				zero.setEnabled(false);
				plus.setEnabled(false);
				minus.setEnabled(false);
				mnozenie.setEnabled(false);
				dzielenie.setEnabled(false);
				modulo.setEnabled(false);
				rownosc.setEnabled(false);
			}
		}
	
		
		class Kasuj implements ActionListener{
			public void actionPerformed(ActionEvent e){
				t.setText("0");
				i=1;j=1;
				p=min=mn=dz=mod=0;
				memory = "0";
				liczbap = 0;
				pp = false;minp = false;mnp = false;dzp = false;modp = false;rowp=false;
				jeden.setEnabled(true);
				zero.setEnabled(true);
				plus.setEnabled(true);
				minus.setEnabled(true);
				mnozenie.setEnabled(true);
				dzielenie.setEnabled(true);
				modulo.setEnabled(true);
				rownosc.setEnabled(true)
				;
			}
		}
		
		
		class Wyjscie implements ActionListener
		{
			public void actionPerformed(ActionEvent zdarzenie) // wykryj zdarzenie - klikniecie
			{
				System.exit(0);
			}
		}
		class MyDialogs extends JDialog{
			public MyDialogs(JFrame parent){
				super(parent, " INFO ", true );
				
				setLayout(new FlowLayout());
				JPanel panel7 = new JPanel(new FlowLayout(FlowLayout.LEFT));
				JPanel panel8 = new JPanel(new FlowLayout(FlowLayout.LEFT));
				JPanel panel9 = new JPanel(new FlowLayout(FlowLayout.LEFT));
				JPanel panel10 = new JPanel(new FlowLayout(FlowLayout.LEFT));
				panel7.add(new JLabel("Nazwa: Kalkulator Binarny " ));
				panel8.add(new JLabel("Przeznaczenie: Dzialania arytmetyczne na liczbach binarnych "));
				JButton ok = new JButton("OK");
				ok.addActionListener(new ActionListener(){
					public void actionPerformed(ActionEvent e){
						dispose();
					}
				});
				panel10.add(ok);
				add(panel7);
				add(panel8);
				add(panel9);
				add(panel10);
				setBounds(100, 150, 400, 160); 
			}
		}
		public static void main(String[] args){ 
			if( args.length!=2 ){
				System.out.println("Zla liczba argumentow!");
				return;
			}
			int a,b;
			try{
				a = Integer.parseInt(args[0]);
				b = Integer.parseInt(args[1]);
			}	
			catch( NumberFormatException ex ) {
				System.out.println("Zly format argumentow!");
				return;
			}
					
			MojPanel okno=new MojPanel(a,b); 
			
			okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
			okno.setVisible(true); // nasze okienko ma byc widoczne
			//Kalkulator r = new Kalkulator();
			//r.init();
		}
	}

	
	
	class MojPanel extends JFrame implements KeyListener{
		private MyDialogs dlg = new MyDialogs(null);
		private MyDialogs2 dlg2 = new MyDialogs2(null);
		private Toolkit toolkit;
		private JPanel panel;
		JButton jeden = new JButton(" 1 ");
		JButton zero = new JButton(" 0 ");
		JButton plus = new JButton(" + ");
		JButton minus = new JButton(" - ");
		JButton mnozenie = new JButton(" * ");
		JButton dzielenie = new JButton(" / ");
		JButton modulo = new JButton(" % ");
		JButton rownosc = new JButton(" = ");
		JButton kasuj = new JButton(" C ");
		JButton info=new JButton("INFO");
		JButton wyjscie=new JButton("WYJSCIE");
		private JLabel t;
		public int j,i=1;
		private int p,min,mn,dz,mod,row,dzialanie;
		private boolean pp,minp,mnp,dzp,modp,rowp;
		private long liczbap = 0;
		private String memory = "0";
		private String liczba;
		private Boolean wynikNaWyswietlaczu = true;
		private String liczba1,l1,l2,wynik;
		private	long n; 
		
		
		public MojPanel(int a, int b){
			
			setSize(a,b);
			
			setResizable(false);
			setTitle("Kalkulator binarny");
			setDefaultCloseOperation(EXIT_ON_CLOSE);
			
			//Wycentrowanie okna
			toolkit = getToolkit();
			Dimension size = toolkit.getScreenSize();
			setLocation(size.width/2 - getWidth()/2, size.height/2 - getHeight()/2);
			/* */
			
			panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
			getContentPane().add(panel);
			panel.setLayout(null);
			
			JPanel fields = new JPanel(new FlowLayout());
			/*t.setEditable(false);*/
			t = new JLabel("0");
			t.setHorizontalTextPosition(JLabel.RIGHT);
			t.setBounds(20, 20, 230, 30);
			t.setFont(new Font("Arial", Font.BOLD, 30));
			fields.add(t);
			
			
			
			JPanel buttons = new JPanel(new GridLayout(2,1));
			buttons.add(zero);
			zero.setFont(new Font("Arial", Font.BOLD, (a/20)));
			zero.setForeground(Color.blue);
			buttons.add(jeden);
			jeden.setFont(new Font("Arial", Font.BOLD, (a/20)));
			jeden.setForeground(Color.blue);
		
			JPanel buttons2 = new JPanel(new GridLayout(3,2));
			buttons2.add(plus);
			plus.setForeground(Color.red);
			plus.setFont(new Font("Arial", Font.BOLD, (a/24)));
			buttons2.add(minus);
			minus.setForeground(Color.red);
			minus.setFont(new Font("Arial", Font.BOLD, (a/24)));
			buttons2.add(mnozenie);
			mnozenie.setForeground(Color.red);
			mnozenie.setFont(new Font("Arial", Font.BOLD, (a/24)));
			buttons2.add(dzielenie);
			dzielenie.setForeground(Color.red);
			dzielenie.setFont(new Font("Arial", Font.BOLD, (a/24)));
			buttons2.add(modulo);
			modulo.setFont(new Font("Arial", Font.BOLD, (a/24)));
			modulo.setForeground(Color.red);
			buttons2.add(rownosc);
			rownosc.setFont(new Font("Arial", Font.BOLD, (a/24)));
			rownosc.setForeground(Color.red);
			buttons2.add(kasuj);
			kasuj.setFont(new Font("Arial", Font.BOLD, (a/24)));
			kasuj.setForeground(Color.red);
			buttons2.add(info);
			info.setFont(new Font("Arial", Font.BOLD, (a/24)));
			info.setForeground(Color.green);
			buttons2.add(wyjscie);
			wyjscie.setFont(new Font("Arial", Font.BOLD, (a/24)));
			wyjscie.setForeground(Color.pink);
								
			getContentPane().setLayout(new BorderLayout());
			getContentPane().add("North", fields);
			getContentPane().add("Center", buttons);
			getContentPane().add("East", buttons2);
			
			ActionListener sl1=new Zero();
			zero.addActionListener(sl1);
			
			ActionListener sl2=new Jeden();
			jeden.addActionListener(sl2); 
			
			ActionListener sl3=new Dodaj();
			plus.addActionListener(sl3); 
				
			ActionListener sl4=new Odejmij();
			minus.addActionListener(sl4); 
			
			ActionListener sl5=new Mnozenie();
			mnozenie.addActionListener(sl5); 
			
			ActionListener sl6=new Dzielenie();
			dzielenie.addActionListener(sl6); 
			
			ActionListener sl7=new Modulo();
			modulo.addActionListener(sl7); 
			
			ActionListener sl8=new Rownosc();
			rownosc.addActionListener(sl8); 
			
			ActionListener sl9=new Kasuj();
			kasuj.addActionListener(sl9);
			
			if( (a < 700 ) || (b < 200 ) ){
				dlg2.setVisible(true);
			}
			
			if( (a > 1200 ) || ( b > 750 )){
				dlg2.setVisible(true);
			}
			
			info.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					dlg.setVisible(true);
				}
			});
			
			setVisible(true);
			
			ActionListener s20=new Wyjscie();
			wyjscie.addActionListener(s20);
			
			rownosc.setToolTipText("Oblicz");
			zero.setToolTipText("Przycisk 0");
			jeden.setToolTipText("Przycisk 1");
			plus.setToolTipText("Dodaj");
			minus.setToolTipText("Odejmij");
			mnozenie.setToolTipText("Mnozenie");
			dzielenie.setToolTipText("Dzielenie");
			modulo.setToolTipText("Modulo");
			kasuj.setToolTipText("Wyczysc");
			info.setToolTipText("Info");
			wyjscie.setToolTipText("Wyjdz");
			setFocusable(true);
			addKeyListener ( this ) ;
			
		}
		
		public void keyTyped( KeyEvent ey ){  
			
		}  
		public void keyPressed( KeyEvent ey){  
			if(ey.getKeyCode()==KeyEvent.VK_1){
				liczba = "";
				i++;
				if(!wynikNaWyswietlaczu && !t.getText().equals("0")){
					liczba = t.getText();
					j++;
				}
				if(liczba.length() < 30){
					liczba += "1";
				}
				
				wynikNaWyswietlaczu = false;
				t.setText(liczba);
			}
			if(ey.getKeyCode()==KeyEvent.VK_0){
				liczba = "";
				if(!wynikNaWyswietlaczu && !t.getText().equals("0")){
					liczba = t.getText();
				}
				if(liczba.length() <= 30){
					liczba += "0";
				}
			
				wynikNaWyswietlaczu = false;
				t.setText(liczba);
			}
			
			if(ey.getKeyCode()==KeyEvent.VK_P){
				
				if( p == 0 ){
				p++;
				liczba1 = t.getText();
				if(liczba1.equals("0")){
					liczbap = liczbap + 0;
					memory = "0";
					pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
					t.setText("0");
				}
				else{
					try{
						Liczba liczba = new Liczba(liczba1,2);
						l1 =(liczba.zapis(10));
					}
					catch(LiczbaException ex ){
						t.setText(ex.getMessage());
					}
					n = Integer.parseInt(l1);
					if( n > 1073741823 ){
						t.setText("Liczba jest za duza.Nacisnij C");
						jeden.setEnabled(false);
						zero.setEnabled(false);
						plus.setEnabled(false);
						minus.setEnabled(false);
						mnozenie.setEnabled(false);
						dzielenie.setEnabled(false);
						modulo.setEnabled(false);
						rownosc.setEnabled(false);
					}
					else{
						liczbap = liczbap + n;
						wynik = Long.toString(liczbap);
						try{
							Liczba liczba = new Liczba(wynik,10);
							l2 = (liczba.zapis(2));
						}
						catch(LiczbaException ex){
							t.setText(ex.getMessage());
						}
						memory = l2;
						
						pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
						t.setText("0");
						}
					}
				}
				else{
					p++;min++;mn++;dz++;mod++;
					liczba1 = t.getText();
					if( pp == true ){
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp == true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}
											}		
										}
									}
								}
							}
						}
					}
				}
			}
			
			if(ey.getKeyCode()==KeyEvent.VK_O){
				p++;mn++;dz++;mod++;
				if( min == 0 ){
					min++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						liczbap = liczbap - 0;
						memory = "0";
						t.setText("0");
						pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
													catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}
											}		
										}
									}
								}
							}
						}
					}
				}
			}
			
			if(ey.getKeyCode()==KeyEvent.VK_R){
				p++;min++;dz++;mod++;
				if( mn == 0 ){
					mn++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						memory = "0";
						t.setText("0");
						pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
													catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}
											}		
										}
									}
								}	
							}
						}
					}
				}
			}
			
			if(ey.getKeyCode()==KeyEvent.VK_D){
				p++;min++;mn++;mod++;
				if( dz == 0 ){
					dz++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						liczbap = 0;
						memory = "0";
						t.setText("0");
						pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
										i=1;j=1;
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								if( modp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nieokreslony wynik funkji");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0 ){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											if( liczba1.equals("1")){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = liczbap%n;
												if(liczbap == 0){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
													i = 1; j = 1;
												}
											}
										}		
									}
								}
							}
						}
					}
				}
			}
			
			if(ey.getKeyCode()==KeyEvent.VK_M){
			p++;min++;mn++;dz++;
				if( mod == 0 ){
					mod++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						liczbap = 0;
						memory = "0";
						t.setText("0");
						pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
										i=1;j=1;
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j=1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
														i = 1; j = 1;
													}
												}		
											}
										}
									}
								}
							}
						}
					}
				}
			}
			if(ey.getKeyCode()==KeyEvent.VK_ENTER){
				p++;min++;mn++;dz++;mod++;
				if( pp == true ){
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						if(liczbap == 0 ){
							liczbap = liczbap + 0;
							memory = "0";
							t.setText(""+memory);
							pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
							i = 1; j = 1;
						}
						else{
							t.setText(""+memory);
							pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
							i = 1; j = 1;
						}
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText(""+memory);
							pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( minp== true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
							else{
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( liczbap <= n ){
								liczbap = 0;memory="0";
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j =1;
							}
							else{
								liczbap = liczbap - n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( mnp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
								else{
									liczbap = 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
							}
							else{
								if(liczbap == 0){
									liczbap = 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
								else{
									try{
										Liczba liczba = new Liczba(liczba1,2);
										l1 = (liczba.zapis(10));
									}
									catch(LiczbaException ex ){
										t.setText(ex.getMessage());
									}
									n = Integer.parseInt(l1);
									liczbap = liczbap * n;
									if( liczbap > 1073741823){
										t.setText("Wynik jest za duzy. Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										wynik = Long.toString(liczbap);
										try{
											Liczba liczba = new Liczba(wynik,10);
											l2 = (liczba.zapis(2));
										}
										catch(LiczbaException ex){
											t.setText(ex.getMessage());
										}
										memory = l2;
										t.setText(""+memory);
										pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
										i = 1; j = 1;
									}
								}
							}
						}
						else{
							if( dzp == true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
									jeden.setEnabled(false);
									zero.setEnabled(false);
									plus.setEnabled(false);
									minus.setEnabled(false);
									mnozenie.setEnabled(false);
									dzielenie.setEnabled(false);
									modulo.setEnabled(false);
									rownosc.setEnabled(false);
									i=1;j=1;
								}
								else{
									if( liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText(""+memory);
										pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = (int)Math.floor(liczbap/n);
										if( liczbap == 0 ){
											memory = "0";
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j = 1;
										}	
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j=1;
										}
									}										
								}
							}
							else{
								if( modp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nieokreslony wynik funkji");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0 ){
											liczbap = 0;
											memory = "0";
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j = 1;
										}
										else{
											if( liczba1.equals("1")){
												liczbap = 0;
												memory = "0";
												t.setText(""+memory);
												pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = liczbap%n;
												if(liczbap == 0){
													liczbap = 0;
													memory = "0";
													t.setText(""+memory);
														pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
													i = 1; j = 1;
												}
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText(""+memory);
													pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
													i = 1; j = 1;
												}
											}		
										}
									}
								}
							}
						}
					}
				}
				i = 1;j = 1;
				p =1; min=1; mn=1; dz = 1;mod = 1;
				jeden.setEnabled(false);
				zero.setEnabled(false);
				plus.setEnabled(false);
				minus.setEnabled(false);
				mnozenie.setEnabled(false);
				dzielenie.setEnabled(false);
				modulo.setEnabled(false);
				rownosc.setEnabled(false);
			}
			
			if(ey.getKeyCode()==KeyEvent.VK_ESCAPE){
				t.setText("0");
				i=1;j=1;
				p=min=mn=dz=mod=0;
				memory = "0";
				liczbap = 0;
				pp = false;minp = false;mnp = false;dzp = false;modp = false;rowp=false;
				jeden.setEnabled(true);
				zero.setEnabled(true);
				plus.setEnabled(true);
				minus.setEnabled(true);
				mnozenie.setEnabled(true);
				dzielenie.setEnabled(true);
				modulo.setEnabled(true);
				rownosc.setEnabled(true);
			}
			
			if(ey.getKeyCode()==KeyEvent.VK_I){
				dlg.setVisible(true);
			}
			
			if(ey.getKeyCode()==KeyEvent.VK_W){
				System.exit(0);
			}	
		}  
		public void keyReleased( KeyEvent ey ){  
			 
		}  
				
		class Jeden implements ActionListener{
			public void actionPerformed(ActionEvent e){
				liczba = "";
				i++;
				if(!wynikNaWyswietlaczu && !t.getText().equals("0")){
					liczba = t.getText();
					j++;
				}
				if(liczba.length() < 30){
					liczba += "1";
				}
				
				wynikNaWyswietlaczu = false;
				t.setText(liczba);
					
				}
			}
			
		class Zero implements ActionListener{
			public void actionPerformed(ActionEvent e){
				liczba = "";
				if(!wynikNaWyswietlaczu && !t.getText().equals("0")){
					liczba = t.getText();
				}
				if(liczba.length() <= 30){
					liczba += "0";
				}
			
				wynikNaWyswietlaczu = false;
				t.setText(liczba);
			}
		}
		
		class Dodaj implements ActionListener{
		private String liczba1,l1,l2,wynik;
		private long n;
		public void actionPerformed(ActionEvent zdarzenie){
			if( p == 0 ){
				p++;min++;mn++;dz++;mod++;
				p++;
				liczba1 = t.getText();
				if(liczba1.equals("0")){
					liczbap = liczbap + 0;
					memory = "0";
					pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
					t.setText("0");
				}
				else{
					try{
						Liczba liczba = new Liczba(liczba1,2);
						l1 =(liczba.zapis(10));
					}
					catch(LiczbaException ex ){
						t.setText(ex.getMessage());
					}
					n = Integer.parseInt(l1);
					if( n > 1073741823 ){
						t.setText("Liczba jest za duza.Nacisnij C");
						jeden.setEnabled(false);
						zero.setEnabled(false);
						plus.setEnabled(false);
						minus.setEnabled(false);
						mnozenie.setEnabled(false);
						dzielenie.setEnabled(false);
						modulo.setEnabled(false);
						rownosc.setEnabled(false);
					}
					else{
						liczbap = liczbap + n;
						wynik = Long.toString(liczbap);
						try{
							Liczba liczba = new Liczba(wynik,10);
							l2 = (liczba.zapis(2));
						}
						catch(LiczbaException ex){
							t.setText(ex.getMessage());
						}
						memory = l2;
						
						pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
						t.setText("0");
						}
					}
				}
				else{
					p++;min++;mn++;dz++;mod++;
					liczba1 = t.getText();
					if( pp == true ){
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									liczbap = 0;
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = true; minp = false;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}
											}		
										}
									}
								}
							}
						}
					}
				}
			}
		}
		
		class Odejmij implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent zdarzenie){
				if( min == 0 ){
					p++;mn++;dz++;mod++;min++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						memory = "0";
						t.setText("0");
						pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp == true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									liczbap = 0;
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = true;mnp = false;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}
											}		
										}
									}
								}
							}
						}
					}
				}
			}
		}
		
		class Mnozenie implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent zdarzenie){
				p++;min++;dz++;mod++;
				if( mn == 0 ){
					mn++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						memory = "0";
						t.setText("0");
						pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
													catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = false;mnp = true;dzp = false;modp=false;rowp = false;
														i = 1; j = 1;
													}
												}
											}		
										}
									}
								}	
							}
						}
					}
				}
			}
		}
		
		class Dzielenie implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent zdarzenie){
				p++;min++;mn++;mod++;
				if( dz == 0 ){
					dz++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						liczbap = 0;
						memory = "0";
						t.setText("0");
						pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
										i=1;j=1;
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}
										}										
									}
								}
								if( modp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nieokreslony wynik funkji");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0 ){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
											i = 1; j = 1;
										}
										else{
											if( liczba1.equals("1")){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = liczbap%n;
												if(liczbap == 0){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
													i = 1; j = 1;
												}
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = true;modp=false;rowp = false;
													i = 1; j = 1;
												}
											}
										}		
									}
								}
							}
						}
					}
				}
			}
		}
		
		class Modulo implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent zdarzenie){
				p++;min++;mn++;dz++;
				if( mod == 0 ){
					mod++;
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						liczbap = 0;
						memory = "0";
						t.setText("0");
						pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
						i = 1; j = 1;
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
						if( n > 1073741823 ){
							t.setText("Liczba jest za duza.Nacisnij C");
							jeden.setEnabled(false);
							zero.setEnabled(false);
							plus.setEnabled(false);
							minus.setEnabled(false);
							mnozenie.setEnabled(false);
							dzielenie.setEnabled(false);
							modulo.setEnabled(false);
							rownosc.setEnabled(false);
						}
						else{
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText("0");
							pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
							i = 1; j = 1;
						}
					}
				}
				else{
					if( pp == true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
							else{
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( n > 1073741823 ){
								t.setText("Liczba jest za duza.Nacisnij C");
								jeden.setEnabled(false);
								zero.setEnabled(false);
								plus.setEnabled(false);
								minus.setEnabled(false);
								mnozenie.setEnabled(false);
								dzielenie.setEnabled(false);
								modulo.setEnabled(false);
								rownosc.setEnabled(false);
							}
							else{
								liczbap = liczbap + n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText("0");
								pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( minp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = liczbap + 0;
									memory = "0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
								else{
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
							}
							else{
								try{
									Liczba liczba = new Liczba(liczba1,2);
									l1 = (liczba.zapis(10));
								}
								catch(LiczbaException ex ){
									t.setText(ex.getMessage());
								}
								n = Integer.parseInt(l1);
								if( liczbap <= n ){
									liczbap = 0;memory="0";
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j =1;
								}
								else{
									liczbap = liczbap - n;
									wynik = Long.toString(liczbap);
									try{
										Liczba liczba = new Liczba(wynik,10);
										l2 = (liczba.zapis(2));
									}
									catch(LiczbaException ex){
										t.setText(ex.getMessage());
									}
									memory = l2;
									t.setText("0");
									pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
									i = 1; j = 1;
								}
							}
						}
						else{
							if( mnp== true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									if(liczbap == 0 ){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
									else{
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
								}
								else{
									if(liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText("0");
										pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = liczbap * n;
										if( liczbap > 1073741823){
											t.setText("Wynik jest za duzy. Nacisnij C");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
											i = 1; j = 1;
										}
									}
								}
							}
							else{
								if( dzp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
										i=1;j=1;
									}
									else{
										if( liczbap == 0){
											liczbap = 0;
											memory = "0";
											t.setText("0");
											pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
											i = 1; j = 1;
										}
										else{
											try{
												Liczba liczba = new Liczba(liczba1,2);
												l1 = (liczba.zapis(10));
											}
											catch(LiczbaException ex ){
												t.setText(ex.getMessage());
											}
											n = Integer.parseInt(l1);
											liczbap = (int)Math.floor(liczbap/n);
											if( liczbap == 0 ){
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j = 1;
											}	
											else{
												wynik = Long.toString(liczbap);
												try{
													Liczba liczba = new Liczba(wynik,10);
													l2 = (liczba.zapis(2));
												}
												catch(LiczbaException ex){
													t.setText(ex.getMessage());
												}
												memory = l2;
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j=1;
											}
										}										
									}
								}
								else{
									if( modp == true ){
										liczba1 = t.getText();
										if(liczba1.equals("0")){
											t.setText("Nieokreslony wynik funkji");
											jeden.setEnabled(false);
											zero.setEnabled(false);
											plus.setEnabled(false);
											minus.setEnabled(false);
											mnozenie.setEnabled(false);
											dzielenie.setEnabled(false);
											modulo.setEnabled(false);
											rownosc.setEnabled(false);
										}
										else{
											if( liczbap == 0 ){
												liczbap = 0;
												memory = "0";
												t.setText("0");
												pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
												i = 1; j = 1;
											}
											else{
												if( liczba1.equals("1")){
													liczbap = 0;
													memory = "0";
													t.setText("0");
													pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
													i = 1; j = 1;
												}
												else{
													try{
														Liczba liczba = new Liczba(liczba1,2);
														l1 = (liczba.zapis(10));
													}
													catch(LiczbaException ex ){
														t.setText(ex.getMessage());
													}
													n = Integer.parseInt(l1);
													liczbap = liczbap%n;
													if(liczbap == 0){
														liczbap = 0;
														memory = "0";
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
														i = 1; j = 1;
													}
													else{
														wynik = Long.toString(liczbap);
														try{
															Liczba liczba = new Liczba(wynik,10);
															l2 = (liczba.zapis(2));
														}
														catch(LiczbaException ex){
															t.setText(ex.getMessage());
														}
														memory = l2;
														t.setText("0");
														pp = false; minp = false;mnp = false;dzp = false;modp=true;rowp = false;
														i = 1; j = 1;
													}
												}		
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		
		class Rownosc implements ActionListener{
			private String liczba1,l1,l2,wynik;
			private long n;
			public void actionPerformed(ActionEvent e){
				p++;min++;mn++;dz++;mod++;
				if( pp== true ){
					liczba1 = t.getText();
					if(liczba1.equals("0")){
						if(liczbap == 0 ){
							liczbap = liczbap + 0;
							memory = "0";
							t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
							i = 1; j = 1;
						}
						else{
							t.setText(""+memory);
							pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
							i = 1; j = 1;
						}
					}
					else{
						try{
							Liczba liczba = new Liczba(liczba1,2);
							l1 = (liczba.zapis(10));
						}
						catch(LiczbaException ex ){
							t.setText(ex.getMessage());
						}
						n = Integer.parseInt(l1);
										
							liczbap = liczbap + n;
							wynik = Long.toString(liczbap);
							try{
								Liczba liczba = new Liczba(wynik,10);
								l2 = (liczba.zapis(2));
							}
							catch(LiczbaException ex){
								t.setText(ex.getMessage());
							}
							memory = l2;
							t.setText(""+memory);
							pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
							i = 1; j = 1;
						
					}
				}
				else{
					if( minp== true ){
						liczba1 = t.getText();
						if(liczba1.equals("0")){
							if(liczbap == 0 ){
								liczbap = liczbap + 0;
								memory = "0";
								t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
							else{
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
						}
						else{
							try{
								Liczba liczba = new Liczba(liczba1,2);
								l1 = (liczba.zapis(10));
							}
							catch(LiczbaException ex ){
								t.setText(ex.getMessage());
							}
							n = Integer.parseInt(l1);
							if( liczbap <= n ){
								liczbap = 0;memory="0";
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j =1;
							}
							else{
								liczbap = liczbap - n;
								wynik = Long.toString(liczbap);
								try{
									Liczba liczba = new Liczba(wynik,10);
									l2 = (liczba.zapis(2));
								}
								catch(LiczbaException ex){
									t.setText(ex.getMessage());
								}
								memory = l2;
								t.setText(""+memory);
								pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
								i = 1; j = 1;
							}
						}
					}
					else{
						if( mnp== true ){
							liczba1 = t.getText();
							if(liczba1.equals("0")){
								if(liczbap == 0 ){
									liczbap = 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
								else{
									liczbap = 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
							}
							else{
								if(liczbap == 0){
									liczbap = 0;
									memory = "0";
									t.setText(""+memory);
									pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
									i = 1; j = 1;
								}
								else{
									try{
										Liczba liczba = new Liczba(liczba1,2);
										l1 = (liczba.zapis(10));
									}
									catch(LiczbaException ex ){
										t.setText(ex.getMessage());
									}
									n = Integer.parseInt(l1);
									liczbap = liczbap * n;
									if( liczbap > 1073741823){
										t.setText("Wynik jest za duzy. Nacisnij C");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										wynik = Long.toString(liczbap);
										try{
											Liczba liczba = new Liczba(wynik,10);
											l2 = (liczba.zapis(2));
										}
										catch(LiczbaException ex){
											t.setText(ex.getMessage());
										}
										memory = l2;
										t.setText(""+memory);
										pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
										i = 1; j = 1;
									}
								}
							}
						}
						else{
							if( dzp == true ){
								liczba1 = t.getText();
								if(liczba1.equals("0")){
									t.setText("Nie mo&#380;na dzielic przez zero.Nacisnij C");
									jeden.setEnabled(false);
									zero.setEnabled(false);
									plus.setEnabled(false);
									minus.setEnabled(false);
									mnozenie.setEnabled(false);
									dzielenie.setEnabled(false);
									modulo.setEnabled(false);
									rownosc.setEnabled(false);
									i=1;j=1;
								}
								else{
									if( liczbap == 0){
										liczbap = 0;
										memory = "0";
										t.setText(""+memory);
										pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
										i = 1; j = 1;
									}
									else{
										try{
											Liczba liczba = new Liczba(liczba1,2);
											l1 = (liczba.zapis(10));
										}
										catch(LiczbaException ex ){
											t.setText(ex.getMessage());
										}
										n = Integer.parseInt(l1);
										liczbap = (int)Math.floor(liczbap/n);
										if( liczbap == 0 ){
											memory = "0";
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j = 1;
										}	
										else{
											wynik = Long.toString(liczbap);
											try{
												Liczba liczba = new Liczba(wynik,10);
												l2 = (liczba.zapis(2));
											}
											catch(LiczbaException ex){
												t.setText(ex.getMessage());
											}
											memory = l2;
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j=1;
										}
									}										
								}
							}
							else{
								if( modp == true ){
									liczba1 = t.getText();
									if(liczba1.equals("0")){
										t.setText("Nieokreslony wynik funkji");
										jeden.setEnabled(false);
										zero.setEnabled(false);
										plus.setEnabled(false);
										minus.setEnabled(false);
										mnozenie.setEnabled(false);
										dzielenie.setEnabled(false);
										modulo.setEnabled(false);
										rownosc.setEnabled(false);
									}
									else{
										if( liczbap == 0 ){
											liczbap = 0;
											memory = "0";
											t.setText(""+memory);
											pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
											i = 1; j = 1;
										}
										else{
											if( liczba1.equals("1")){
												liczbap = 0;
												memory = "0";
												t.setText(""+memory);
												pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
												i = 1; j = 1;
											}
											else{
												try{
													Liczba liczba = new Liczba(liczba1,2);
													l1 = (liczba.zapis(10));
												}
												catch(LiczbaException ex ){
													t.setText(ex.getMessage());
												}
												n = Integer.parseInt(l1);
												liczbap = liczbap%n;
												if(liczbap == 0){
													liczbap = 0;
													memory = "0";
													t.setText(""+memory);
														pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
													i = 1; j = 1;
												}
												else{
													wynik = Long.toString(liczbap);
													try{
														Liczba liczba = new Liczba(wynik,10);
														l2 = (liczba.zapis(2));
													}
													catch(LiczbaException ex){
														t.setText(ex.getMessage());
													}
													memory = l2;
													t.setText(""+memory);
													pp = false; minp = false;mnp = false;dzp = false;modp=false;rowp = true;
													i = 1; j = 1;
												}
											}		
										}
									}
								}
							}
						}
					}
				}
				i = 1;j = 1;
				p =1; min=1; mn=1; dz = 1;mod = 1;
				jeden.setEnabled(false);
				zero.setEnabled(false);
				plus.setEnabled(false);
				minus.setEnabled(false);
				mnozenie.setEnabled(false);
				dzielenie.setEnabled(false);
				modulo.setEnabled(false);
				rownosc.setEnabled(false);
			}
		}
	
		
		class Kasuj implements ActionListener{
			public void actionPerformed(ActionEvent e){
				t.setText("0");
				i=1;j=1;
				p=min=mn=dz=mod=0;
				memory = "0";
				liczbap = 0;
				pp = false;minp = false;mnp = false;dzp = false;modp = false;rowp=false;
				jeden.setEnabled(true);
				zero.setEnabled(true);
				plus.setEnabled(true);
				minus.setEnabled(true);
				mnozenie.setEnabled(true);
				dzielenie.setEnabled(true);
				modulo.setEnabled(true);
				rownosc.setEnabled(true)
				;
			}
		}
		
		
		class Wyjscie implements ActionListener
		{
			public void actionPerformed(ActionEvent zdarzenie) // wykryj zdarzenie - klikniecie
			{
				System.exit(0);
			}
		}
		class MyDialogs extends JDialog{
			public MyDialogs(JFrame parent){
				super(parent, " INFO ", true );
				
				setLayout(new FlowLayout());
				JPanel panel7 = new JPanel(new FlowLayout(FlowLayout.LEFT));
				JPanel panel8 = new JPanel(new FlowLayout(FlowLayout.LEFT));
				JPanel panel9 = new JPanel(new FlowLayout(FlowLayout.LEFT));
				JPanel panel10 = new JPanel(new FlowLayout(FlowLayout.LEFT));
				panel7.add(new JLabel("Nazwa: Kalkulator Binarny " ));
				panel8.add(new JLabel("Przeznaczenie: Dzialania arytmetyczne na liczbach binarnych "));
				JButton ok = new JButton("OK");
				ok.addActionListener(new ActionListener(){
					public void actionPerformed(ActionEvent e){
						dispose();
					}
				});
				panel10.add(ok);
				add(panel7);
				add(panel8);
				add(panel9);
				add(panel10);
				setBounds(100, 150, 400, 160); 
			}
		}
		
		class MyDialogs2 extends JDialog{
			public MyDialogs2(JFrame parent){
				super(parent, " BLAD ", true );
				
				setLayout(new FlowLayout());
				JPanel panel11 = new JPanel(new FlowLayout(FlowLayout.LEFT));
				JPanel panel12 = new JPanel(new FlowLayout(FlowLayout.LEFT));
			
				panel11.add(new JLabel("BLAD ROZMIARU. NACISNIJ PRZYCISK OK ABY WYJSC " ));
				
				JButton ok = new JButton("OK");
				ok.addActionListener(new ActionListener(){
					public void actionPerformed(ActionEvent e){
						System.exit(0);
					}
				});
				panel12.add(ok);
				add(panel11);
				add(panel12);
				setBounds(100, 150, 400, 120); 
			}
		}
	}