Escolar Documentos
Profissional Documentos
Cultura Documentos
import
import
import
public
javax.swing.*;
java.awt.*;
java.awt.event.*;
class caesarcipher extends JFrame implements ActionListener {
private static
private static
private static
private static
private static
private static
private static
1, 25, 1) );
private static
private static
private static
private static
private static
resultTextField.setEditable(false);
addComponent(panel, actionButton, 1, 4, 1, 1, GridBagConstraints.CENTER)
;
actionButton.addActionListener(this);
this.add(panel);
this.setVisible(true);
}
private void addComponent(JPanel p, JComponent c, int x, int y, int width, i
nt height, int align) {
GridBagConstraints gc = new GridBagConstraints();
gc.gridx = x;
gc.gridy = y;
gc.gridwidth = width;
gc.gridheight = height;
gc.weightx = 100.0;
gc.weighty = 100.0;
gc.insets = new Insets(5, 5, 5, 5);
gc.anchor = align;
gc.fill = GridBagConstraints.NONE;
p.add(c, gc);
}
private void encryptMessage(String msg, int k) {
String result = "";
resultTextField.setText("");
for (int i = 0; i < msg.length(); i++)
result += encryptChar(msg.charAt(i), k);
resultTextField.setText(result);
}
private char encryptChar(char c, int k) {
if (Character.isLetter(c))
return (char) ('A' + (c - 'A' + k) % 26);
else
return c;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == encryptRadio)
actionButton.setText("Encrypt Message");
if (e.getSource() == decryptRadio)
actionButton.setText("Decrypt Message");
if (e.getSource() == actionButton) {
String str = msgTextField.getText();
int k = (Integer) keySpinner.getValue();
int key = 0;
String message = "";
if (str.equals("")) {
JOptionPane.showMessageDialog(null, "Please enter a message!", "Error!",
JOptionPane.ERROR_MESSAGE);
msgTextField.requestFocus();
return;
}
message = str.toUpperCase();
if (encryptRadio.isSelected())
key = k;
else
key = 26 - k;
encryptMessage(message, key);
}
}
}