Я только начинаю работать с Java Swing, и у меня та же проблема, что и в прошлый раз.
Я хочу написать программу, которая читает пользовательский ввод, выполняет алгоритм и отображает результат. Программа должна работать с двумя различными пользовательскими интерфейсами (консоль и графический интерфейс с Java Swing).
В настоящее время у меня есть пакет классов с алгоритмом (я могу просто передать пользовательский ввод и получить результат), класс, который содержит основной класс, класс для интерфейса консоли и класс для GUI (который продолжается от JFrame).
Некоторый код:
<code>
public class Algorithm {
//<em>a lot of code</em>
}
public class MainClass {
public static void main(...) {
Algorithm algorithm = new Algorithm();
//<em>use either console or GUI and read user input</em>
algorithm.execute(<em>user input</em>);
algorithm.getResult();
//<em>display result on console/GUI</em>
}
}
public class GUI extends JFrame implements ActionListener {
}
Моя проблема в том, что я не знаю, как передать пользовательский ввод (текст, шкалы и переключатели, кнопки) из графического интерфейса в алгоритм и как отобразить результат в графическом интерфейсе.
Должен ли я передать экземпляр алгоритма в графический интерфейс и вызвать методы алгоритма из графического интерфейса?
Или возможно реализовать ActionsListener в MainClass (где у меня есть экземпляр Algorithm)? Если я выберу этот способ реализации, как я могу передать результат алгоритма обратно в графический интерфейс?
Или я должен изменить всю реализацию? : D