Помогите решить задачку. Есть рабочий код шифра Цезаря, есть написанный интерфейс, не могу все это совместить в одно. Дополняю, задание звучит так создайте приложение с графическим интерфейсом для зашифрования и расшифрования слов на английском языке.Шифрование символов и русских слов меня не интересует, код шифра рабочий мне теперь нужно чтобы он работал в интерфейсе, но никак не могу сделать это
`package classes;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
public class MainClass {
private static String getCodingIncodMessage(String message, int key) {
StringBuilder strBox = new StringBuilder(message.length());
char tmp;
for (int i = 0; i < message.length(); i++) {
tmp = message.charAt(i);
if (Character.isLetter(message.charAt(i))) {
tmp += key % 26;
if (tmp > 'z')
tmp = (char)(tmp % 'z' + 'a' - 1);
else if (tmp < 'a')
tmp = (char)(tmp + 26);
}
strBox.append(tmp);
}
return strBox.toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//создание окна
JFrame frame = new JFrame();
//Завершить приложение при закрытие окна
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Задать размер окна
frame.setSize(500, 500);
//Задать позицию окна
frame.setLocation(500, 500);
//Задать заголовок окна
frame.setTitle("Шифр цезаря");
frame.setLayout(new BorderLayout());
final JTextField name = new JTextField();
final JTextField greeting = new JTextField();
name.addCaretListener(new CaretListener() {
public void caretUpdate(CaretEvent arg0) {
}
});
frame.add(name, BorderLayout.NORTH);
frame.add(greeting, BorderLayout.CENTER);
frame.setVisible(true);
}
`
Код интерфейса
package classes1;
import java.io.*;
public class CezarCod {
int offset=3;
public String encrypt(String s) throws IOException
{
StringBuilder sb=new StringBuilder();
for(int i=0;i<s.length();i++)
{
char t=s.charAt(i);
if(t>='A' && t<='Z')
{
int t1=t-'A'+offset;
//
t1=t1%26;
sb.append((char)(t1+'A'));
}
else if(t>='a' && t<='z')
{
int t1=t-'a'+offset;
t1=t1%26;
sb.append((char)(t1+'a'));
}
}
return sb.toString();
}
public String decrypt(String s) throws IOException
{
StringBuilder sb=new StringBuilder();
for(int i=0;i<s.length();i++)
{
char t=s.charAt(i);
if(t>='A' && t<='Z')
{
int t1=t-'A'-offset;
if(t1<0)t1=26+t1;
sb.append((char)(t1+'A'));
}
else if(t>='a' && t<='z')
{
int t1=t-'a'-offset;
if(t1<0)t1=26+t1;
sb.append((char)(t1+'a'));
}
}
return sb.toString();
}
public static void main(String[] args) {
try
{
System.out.println("Шифр Цезаря");
BufferedReader b;
String oriTxt,encTxt,decTxt;
System.out.println("Please enter the word to cipher:");
b=new BufferedReader(new InputStreamReader(System.in));
oriTxt=b.readLine();
CezarCod c=new CezarCod();
encTxt=c.encrypt(oriTxt);
System.out.println("Encoded :"+encTxt);
decTxt=c.decrypt(encTxt);
System.out.println("Decrypted :"+decTxt);
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}
Код шифра
Попробуйте так
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.event.CaretEvent;
public class MainClass {
public static void main(String[] args) {
JFrame frame = new JFrame();
//Завершить приложение при закрытие окна
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Задать размер окна
frame.setSize(500, 500);
//Задать позицию окна
frame.setLocation(500, 500);
//Задать заголовок окна
frame.setTitle("Шифр цезаря");
frame.setLayout(new GridLayout(3,1));
final JTextArea name = new JTextArea();
final JTextArea encrypted = new JTextArea();
final JTextArea decrypted = new JTextArea();
decrypted.setEditable(false);
encrypted.setEditable(false);
CezarCod cezarCod = new CezarCod();
name.addCaretListener((CaretEvent arg0) -> {
String text = name.getText();
encrypted.setText(cezarCod.encrypt(text));
decrypted.setText(cezarCod.decrypt(encrypted.getText()));
});
frame.add(name);
frame.add(encrypted);
frame.add(decrypted);
frame.setVisible(true);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я только пробую работать с RMIЗапускаю клиент и сервер на разных компьютерах
Мне нужно построить матрицу DSM-матрицу для Jar файлов (DSMForJars)
У меня есть WebView, содержание которого я формирую из локального txt, даю ему необходимые настройкиВ принципе, по вот этой инструкции я формирую...
Такой вопрос: как сделать что бы заголовок spinner отличался от выбранного значения, те