Я новичок в Java из C #, поэтому я не знаком с лучшими практиками Java.
У меня есть основной класс, который открывает JFrame для получения нескольких строк ввода от пользователя. Когда пользователь нажимает кнопку «Отправить», графический интерфейс пользователя должен закрыться, и основной класс продолжает обработку с использованием ввода.
Это основной класс:
public class Main {
FInput fInput;
public void main(String[] args) {
if(args.length==0)
{
fInput = new FInput();
fInput.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fInput.pack();
fInput.setVisible(true);
}
else
startProcess(args);
}
public void startProcess(String[] args) {
// Do stuff
}
Основной класс будет использовать этот кадр для получения ввода от пользователя:
public class FInput extends JFrame{
private JTextField txtSourceDirectory;
private JTextField txtTargetDirectory;
private JTextField txtDefectNumber;
private JTextField txtSliceTokens;
private JButton btnStart;
public FInput() {
// Initialize text fields and button
JButton.addActionListener(something);
}
}
Во всех примерах, которые я смог найти, слушателем был бы сам FMain. Однако в этом случае я хочу, чтобы Main прослушивал и использовал входные данные в методе startProcess.
Будет ли иметь Main реализовать ActionListener и передать его конструктору FMain - это путь?