Hallo!
Ich habe ein Programm geschrieben, das Text mittels der Cäsarverschlüsselung verschlüsselt. soweit sogut. mein Problem ist nun das wenn ich auf den Button klicke der Text nicht verschlüsselt wird, sondern sich das Programmfenster einfach nochmal öffnet und im ersten Fenster einfach gar nichts passiert.
Hier der Code:
Ich habe ein Programm geschrieben, das Text mittels der Cäsarverschlüsselung verschlüsselt. soweit sogut. mein Problem ist nun das wenn ich auf den Button klicke der Text nicht verschlüsselt wird, sondern sich das Programmfenster einfach nochmal öffnet und im ersten Fenster einfach gar nichts passiert.
Hier der Code:
Java:
package de.luca.java.rotcrypt;
import java.awt.Color;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class gui extends JFrame {
private JTextField textfield;
private JTextField textfield2;
private JTextField textfield3;
public static void main(String[] args) {
new gui();
}
public gui(){
super("Rotationsverschlüsselung");
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setLayout(null);
setResizable(false);
setAlwaysOnTop(true);
textfield = new JTextField();
textfield.setBounds(5, 30, 290, 25); // geht bis 300
getContentPane().add(textfield);
textfield2 = new JTextField();
textfield2.setBounds(305, 30, 285, 25);
getContentPane().add(textfield2);
textfield3 = new JTextField();
textfield3.setBounds(270, 60, 30, 20);
getContentPane().add(textfield3);
ActionButton handler = new ActionButton();
JButton button = new JButton("Text v*erschlüsseln");
button.setBounds(335, 60, 225, 20);
button.setBackground(Color.CYAN);
button.addActionListener((ActionListener) handler);
getContentPane().add(button);
JLabel label = new JLabel("Zu verschlüsselnden Text eingeben:");
label.setBounds(45, 5, 280, 20);
getContentPane().add(label);
JLabel label2 = new JLabel("Verschlüsselter Text");
label2.setBounds(380, 5, 280, 20);
getContentPane().add(label2);
JLabel label3 = new JLabel("Um wie viele Stellen soll verschoben werden?");
label3.setBounds(5, 60, 280, 20);
getContentPane().add(label3);
setLocation(100, 100);
setSize(600, 117);
setVisible(true);
}
public void verschlüsseln() {
String textinput = textfield.getText();
String anzahlStellen = textfield3.getText();
int offset = Integer.parseInt(anzahlStellen);
if (offset >=1 && offset <=127){
char[] meinArray = textinput.toCharArray();
char[] meinNeuesArray = verschluesseln(offset, meinArray);
String output = String.valueOf(meinNeuesArray);
textfield2.setText(output);
}
}
public static char[] verschluesseln(int offset, char[] charArray) {
char[] cryptArray =new char[charArray.length];
for (int i = 0; i < charArray.length; i++) {
int verschiebung = (charArray[i] + offset)%128;
cryptArray[i] = (char) (verschiebung);
}
return cryptArray;
}
}