JFrame в отдельном классе, как насчет ActionListener?

Я пытаюсь отделить мой графический интерфейс Swing от моего реального кода. Короче говоря, я хочу, чтобы пользователь начал процесс (на основе выбора пользователя); в этом случае JFrame больше не будет нужен.

Чего я не мог понять, так это как разделить выбор пользователя из GUI.class с Main.class.

У вас есть какой-нибудь совет для меня?

Вот мой код:

public class Main {
  public static void main(String[] args) {
    // Show GUI
    java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
        GUI gui = new GUI(templates);
        gui.setVisible(true);
      }
    });

    // Kick off a process based on the user's selection
  }
}

public class GUI extends JFrame {
  private static final long serialVersionUID = 1L;

  public GUI(Object[] objects) {
    setTitle("GUI");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 350, 100);
    setLocationRelativeTo(null);

    JPanel cp = new JPanel();
    cp.setBorder(new EmptyBorder(10, 10, 10, 10));
    setContentPane(cp);

    JLabel lbl = new JLabel("Selection:");
    cp.add(lbl);

    final JComboBox<String> comboBox = new JComboBox<String>(new String[] { "One", "Two", "Three" });
    comboBox.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        setVisible(false);
        dispose();
        // Share the selected item with Main.class
      }
    });
    cp.add(comboBox);
  }
}

Ответы на вопрос(2)

Ваш ответ на вопрос