Execute BigInteger applet example
Java code:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.Math.*;
import java.math.BigInteger;

public class BigIntCalc extends JApplet implements ActionListener{

   JLabel lN1, lN2;
   JTextField tN1, tN2;
   JButton btnAdd,btnSub,btnMul,btnDiv,btnClear; JTextArea outArea;
   public void init(){
      Box box=Box.createVerticalBox();
      // input
      lN1=new JLabel("Input first number"); box.add(lN1);
      tN1=new JTextField(100); tN1.setEditable(true); box.add(tN1);

      lN2=new JLabel("Input second number"); box.add(lN2);
      tN2=new JTextField(100); tN2.setEditable(true); box.add(tN2);

      // buttons
      btnAdd=new JButton("+"); btnAdd.addActionListener(this); box.add(btnAdd);
      btnSub=new JButton("-"); btnSub.addActionListener(this); box.add(btnSub);
      btnMul=new JButton("*"); btnMul.addActionListener(this); box.add(btnMul);
      btnDiv=new JButton("/"); btnDiv.addActionListener(this); box.add(btnDiv);
      btnClear=new JButton("Clear"); btnClear.addActionListener(this); box.add(btnClear);

      // Output
      String desc="This is a rudimentary arbitrary precision integer calculator\n";
      outArea=new JTextArea(desc,30,60);
      ScrollPane scrollPane=new ScrollPane();
      scrollPane.add(outArea);
      box.add(scrollPane);

      Container c=getContentPane();
      c.add(box);
      setSize(600,300);
      setVisible(true);
      showStatus("Enter operands and operator");
  }

  public void actionPerformed(ActionEvent actionEvent){
    if(actionEvent.getSource()==btnClear){
          outArea.selectAll(); outArea.cut();
    } else {

        String sN1=tN1.getText(), sN2=tN2.getText(), sOp="";
        if(sN1.equals("")){sN1="0"; showStatus("Enter first operand");} else
        if(sN2.equals("")){sN2="0"; showStatus("Enter second operand");} else
        { showStatus("Select operator or Clear");}
        BigInteger bN1=new BigInteger(sN1);
        BigInteger bN2=new BigInteger(sN2);
        BigInteger bRes=BigInteger.ZERO, bResDiv[]={BigInteger.ZERO,BigInteger.ZERO};
        BigInteger bRemainder=BigInteger.ZERO;
        if(actionEvent.getSource()==btnAdd){bRes=bN1.add(bN2); sOp=" + ";}
        if(actionEvent.getSource()==btnSub){bRes=bN1.subtract(bN2); sOp=" - ";}
        if(actionEvent.getSource()==btnMul){bRes=bN1.multiply(bN2); sOp=" * ";}
        if(actionEvent.getSource()==btnDiv){sOp=" / ";
          if(bN2.signum()!=0)bResDiv=bN1.divideAndRemainder(bN2);
          bRes=bResDiv[0]; bRemainder=bResDiv[1];
        }
        if(sOp.equals(" / ") && bN2.signum()==0){
          showStatus("Cannot divide by zero");
        } else {
          outArea.append(bN1.toString() + sOp+bN2.toString() + " = " + bRes.toString() + "\n");
          if(actionEvent.getSource()==btnDiv)outArea.append("Remainder = "+bRemainder.toString()+"\n");
          showStatus("Calculations completed");
        }

    }
  }
}