the codes compile fine but don't execute-they are part of a few study projects that i got ,but there was no mention of how to run them...
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.math.*;
public class Hill extends JApplet implements ActionListener
{
/** Initialization method that will be called after the
applet is loaded
* into the browser.
*/
public void init () {
initComponents();
setSize(400, 600);
}
// Parameters Begin
private javax.swing.JTextField aTextField;
private javax.swing.JTextField bTextField;
private javax.swing.JTextField cTextField;
private javax.swing.JTextField dTextField;
// Parameters End
private javax.swing.JButton encryptButton;
private javax.swing.JButton decryptButton;
private javax.swing.JTextArea inputTextArea;
private javax.swing.JTextArea outputTextArea;
private javax.swing.JPanel parameterPanel;
private javax.swing.JPanel textPanel;
private javax.swing.JPanel inputPanel;
private javax.swing.JPanel outputPanel;
private javax.swing.JPanel topInputPanel;
private javax.swing.JPanel topOutputPanel;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private Container mainContainer;
private final int width=400, height=600;
private boolean casechange=false, clean=false;
private void initComponents() {
mainContainer = getContentPane();
mainContainer.setLayout(new BorderLayout(0,0));
// Parameter Panel Begin
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel2.setText("a=");
jLabel3.setText("b=");
jLabel4.setText("c=");
jLabel5.setText("d=");
jLabel6.setText("Enter Text");
jLabel7.setText("or");
aTextField = new javax.swing.JTextField(3);
bTextField = new javax.swing.JTextField(3);
cTextField = new javax.swing.JTextField(3);
dTextField = new javax.swing.JTextField(3);
aTextField.setText("");
bTextField.setText("");
cTextField.setText("");
dTextField.setText("");
parameterPanel = new javax.swing.JPanel();
parameterPanel.add(jLabel2);
parameterPanel.add(aTextField);
parameterPanel.add(jLabel3);
parameterPanel.add(bTextField);
parameterPanel.add(jLabel4);
parameterPanel.add(cTextField);
parameterPanel.add(jLabel5);
parameterPanel.add(dTextField);
// Parameter Panel End / Input Panel Begin
topInputPanel = new javax.swing.JPanel();
topInputPanel.add(jLabel6);
inputTextArea = new javax.swing.JTextArea();
inputTextArea.setLineWrap(true);
inputTextArea.setText("");
inputPanel = new javax.swing.JPanel();
inputPanel.setLayout(new BorderLayout());
inputPanel.add(topInputPanel,BorderLayout.NORTH);
inputPanel.add(inputTextArea,BorderLayout.CENTER);
// Input Panel End / Output Panel Begin
encryptButton = new javax.swing.JButton();
decryptButton = new javax.swing.JButton();
encryptButton.setText("Encrypt");
encryptButton.addActionListener(this);
decryptButton.setText("Decrypt");
decryptButton.addActionListener(this);
topOutputPanel = new javax.swing.JPanel();
topOutputPanel.add(encryptButton);
topOutputPanel.add(jLabel7);
topOutputPanel.add(decryptButton);
outputTextArea = new javax.swing.JTextArea();
outputTextArea.setText("");
outputTextArea.setLineWrap(true);
outputPanel = new javax.swing.JPanel();
outputPanel.setLayout(new BorderLayout(0,0));
outputPanel.add(topOutputPanel,BorderLayout.NORTH);
outputPanel.add(outputTextArea, BorderLayout.CENTER);
// Output Panel End
textPanel = new javax.swing.JPanel();
textPanel.setLayout(new GridLayout(2,1));
textPanel.add(inputPanel);
textPanel.add(outputPanel);
mainContainer.add(parameterPanel, BorderLayout.NORTH);
mainContainer.add(textPanel, BorderLayout.CENTER);
}
public
String cleanString(String toClean)
{
String returnString = new String();
for(int i=0;i<toClean.length();i++)
{
if (Character.isLetter(toClean.charAt(i)) == true)
returnString = returnString + toClean.charAt(i);
}
return returnString;
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==encryptButton)
{
String toEncrypt = new String(inputTextArea.getText());
int a = Integer.parseInt(aTextField.getText()) % 26;
int b = Integer.parseInt(bTextField.getText()) % 26;
int c = Integer.parseInt(cTextField.getText()) % 26;
int d = Integer.parseInt(dTextField.getText()) % 26;
toEncrypt = cleanString(toEncrypt);
toEncrypt = toEncrypt.toLowerCase();
if (toEncrypt.length() % 2 == 1)
toEncrypt = toEncrypt + "x";
char charArray[] = toEncrypt.toCharArray();
for(int i=0;i<toEncrypt.length();i+=2)
{
char temp = charArray[i];
charArray[i] = (char)((((int)charArray[i] - 97)*a + ((int)charArray[i+1]-97)*b ) % 26 + 97);
charArray[i+1] = (char)((((int)temp - 97)*c + ((int)charArray[i+1]-97)*d ) % 26 + 97);
}
toEncrypt = new String(charArray);
toEncrypt = toEncrypt.toUpperCase();
outputTextArea.setText(toEncrypt);
}
else if (e.getSource()==decryptButton)
{
try{
String toDecrypt = new String(inputTextArea.getText());
int a = Integer.parseInt(aTextField.getText()) % 26;
int b = Integer.parseInt(bTextField.getText()) % 26;
int c = Integer.parseInt(cTextField.getText()) % 26;
int d = Integer.parseInt(dTextField.getText()) % 26;
int detA = (a*d-b*c)%26;
if (detA==0)
{
String error = new String("Matrix not invertible");
outputTextArea.setText(error);
}
BigInteger X = new BigInteger(""+detA);
BigInteger M = new BigInteger("26");
BigInteger R = X.modInverse(M);
int deta= R.intValue();
int w = (deta*d+676)%26;
int x = (deta*-b+676)%26;
int y = (deta*-c+676)%26;
int z = (deta*a+676)%26;
//System.out.println(w+","+x+","+y+","+z+",");
toDecrypt = cleanString(toDecrypt);
toDecrypt = toDecrypt.toLowerCase();
char charArray[] = toDecrypt.toCharArray();
for(int i=0;i<toDecrypt.length();i+=2)
{
char temp = charArray[i];
charArray[i] = (char)((((int)charArray[i] - 97)*w + ((int)charArray[i+1]-97)*x ) % 26 + 97);
charArray[i+1] = (char)((((int)temp - 97)*y + ((int)charArray[i+1]-97)*z) % 26 + 97);
}
toDecrypt = new String(charArray);
outputTextArea.setText(toDecrypt);
}
catch (Exception ex){}
}
}
}