package com.company; public class LoginForm implements ActionListener { JButton button; JTextField yourLogin; JTextField result; String login = null; public void log() { JFrame frame = new JFrame(); yourLogin = new JTextField(); result = new JTextField(); button = new JButton("Login"); button.addActionListener(this);// frame.getContentPane().add(BorderLayout.NORTH, button); frame.getContentPane().add(BorderLayout.SOUTH, yourLogin); frame.getContentPane().add(BorderLayout.CENTER, result); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 300); frame.setVisible(true); } // Создает фрейм с кнопкой и текстовыми полями, в котором при нажатии кнопки значение из поля передается в String login public void actionPerformed(ActionEvent event) { login = yourLogin.getText(); result.setText(login); System.out.println(login); // Работает, выдает результат в консоль } public String getLogin(){ return login; } // Геттер, нужно чтобы так же передавал результат в консоль. Но он передает null. То есть использует переменную класса а не метода } MAIN
import javax.swing.*; public class Main { public static void main(String[] args) { LoginForm logg = new LoginForm(); logg.log(); System.out.println(logg.getLogin()); // Выдает null. Берет переменную класса а не метода } }