Hallo zusammen,
ich hab ein kleines Problem.
ich habe ein GUI, in das man ein Wort eintragen soll, dass dann über einen Schlüssel, den man auch eintragen kann, verschlüsselt wird.
Also NormalerText --> Schlüssel --> verschlüsselterText.
Den Code für die Verschlüsselung und die GUI hab ich schon geschrieben, aber wie kann ich diese beiden verknüpfen.
Oder anders: Wie kann ich den Button dazu bewegen, den Text mit der Verschlüsselung umzuwandeln?
Hier ist der Code für die GUI:
package chiffren;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Gui extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
JButton btn;
//
public Gui (){
setTitle ("VerSchluessel"); //Name
getContentPane().setBackground(Color.LIGHT_GRAY); //Farbe
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Schließen
setSize(300,200);
JPanel Leinwand = new JPanel();
getContentPane().add(Leinwand);
// Button1
/* btn = new JButton("Test");
btn.setPreferredSize(new Dimension(130, 25));
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
((JButton)e.getSource()).setText("Test Ende");
}
});
Leinwand.add(btn);*/
//Textfeld 0
JTextField tf0 = new JTextField("Datei einfügen");
Leinwand.add(tf0);
tf0.setPreferredSize(new Dimension(150,30));
//Textfeld 1
JTextField tf1 = new JTextField("Text eingeben");
Leinwand.add(tf1);
tf1.setPreferredSize(new Dimension(150,30));
//Textfeld 2
JTextField tf2 = new JTextField("Schlüssel eingeben");
Leinwand.add(tf2);
tf2.setPreferredSize(new Dimension(75,30));
// Button2
btn = new JButton("Verschlüsseln");
btn.setPreferredSize(new Dimension(150, 25));
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
((JButton)e.getSource()).setText("Test Ende");
}
});
Leinwand.add(btn);
//Textfeld 3
JTextField tf3 = new JTextField("Ergebnis");
Leinwand.add(tf3);
tf3.setPreferredSize(new Dimension(150,30));
}
// Fenstereigenschaften
public static void main(String[] args) {
Gui frame = new Gui();
frame.setSize(100,200);
frame.setLocation(30,300);
frame.pack();
frame.setVisible(true);}
}
Und hier für die verschlüsselung:
public class Enigma{
public static void main (String[]args){}
public String decrypt(String cryptText, int key) {// Entschlüsseln
StringBuffer ergebnis = new StringBuffer();
key %= 26;
for (int i = 0; i < cryptText.length(); i++) {
int min = 65, max = 90;
}
return cryptText;
}
public String encrypt(String plainText, int key) {// Verschlüsseln
String ergebnis = "";
key %= 26;
for (int i = 0; i < plainText.length(); i++) {
int min = 65, max = 90;
int c = plainText.charAt (i);
if ((c<'A')||(c>'z')||(c>'Z')&&(c<'a')){
ergebnis +=((char)c);
continue;
}
if (c>max) {
min += 32;
max += 32;
}
int cc = c + key;
if (cc > max)
c= cc - 26;
else
c= cc;
ergebnis +=((char) c);
}
return ergebnis.toString();
}}
Ich hab gelesen, dass man sowas über einen EventManager lösen kann, aber ich verstehe als Noob nicht ganz was das bringt. Geht das denn nicht auch anders?
Über Tipps und/oder Anregungen würde ich mich sehr freuen.