@bjfssd757

Почему не сохраняется введённая информация?

При нажатие на кнопку то ли не сохраняется в переменную введённый пользователем путь к файлу, то ли почему-то в методе main не срабатывает условие isFile() == true. Из-за чего это может происходить?
Класс Main:
public class Main {
    public static boolean ok = true;
    public static void main(String[] args) throws IOException, InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, InterruptedException {
        Graphic window = new Graphic();
        window.createWindow();
        Filer filer = new Filer();
        if (filer.getFile() != null) {
            File file = new File(filer.getFile());
            if (file.isFile() == true) {
                byte[] byteFile = Files.readAllBytes(Paths.get(filer.getFile()));
                crypto.encrypt(byteFile);
                Thread.sleep(3000);
                System.out.println("Файлл зашифрован!\n" + crypto.getEncryptText() + "\n");
                crypto.decrypt(crypto.getEncryptText());
                Thread.sleep(3000);
                System.out.println("Файл расшифрован!\n" + crypto.getDecryptText());
            }
            else {
                ok = false;
            }
        }
    }
    public boolean okStatus() {
        return ok;
    }
}


Класс Graphic:
public class Graphic {
    public void createWindow() {
        JFrame frame = new JFrame("Приложение");
        frame.setSize(400, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        Filer filer = new Filer();
        
        JTextField wayFile = new JTextField();
        JButton go = new JButton("Отправить");
        
        go.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                filer.setFile(wayFile.getText());
            }
        });
        frame.getContentPane().add(BorderLayout.CENTER, wayFile);
        frame.getContentPane().add(BorderLayout.SOUTH, go);

        Main main = new Main();
        if (main.okStatus() == false) {
            JLabel errLabel = new JLabel("Путь НЕ приводит к файлу!");
            frame.getContentPane().add(BorderLayout.EAST, errLabel);
        }
    }
}
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы