Как запустить JFrame в приложении Spring? - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь ie показать окно JFrame, но ничего не появляется (приложение Spring загружается без проблем)

@SpringBootApplication
public class Application extends JFrame{

JTextField t = new JTextField("test");

Application(){
    add(t);
    setVisible(true);
    pack();
    setLocationRelativeTo(null);
}

public static void main(String[] args) {

    new Application();
    SpringApplication.run(Application.class, args);      

}
}

1 Ответ

0 голосов
/ 21 января 2020

Простой пример интеграции Spring Boot Swing. Вы можете прочитать более подробную информацию об отдельных шагах в этой статье

public class SwingApp extends JFrame {

    public SwingApp() {

        initUI();
    }

    private void initUI() {

        var quitButton = new JButton("Quit");

        quitButton.addActionListener((ActionEvent event) -> {
            System.exit(0);
        });

        createLayout(quitButton);

        setTitle("Quit button");
        setSize(300, 200);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    private void createLayout(JComponent... arg) {

        var pane = getContentPane();
        var gl = new GroupLayout(pane);
        pane.setLayout(gl);

        gl.setAutoCreateContainerGaps(true);

        gl.setHorizontalGroup(gl.createSequentialGroup()
                .addComponent(arg[0])
        );

        gl.setVerticalGroup(gl.createSequentialGroup()
                .addComponent(arg[0])
        );
    }

    public static void main(String[] args) {

        var ctx = new SpringApplicationBuilder(SwingApp.class)
                .headless(false).run(args);

        EventQueue.invokeLater(() -> {

            var ex = ctx.getBean(SwingApp.class);
            ex.setVisible(true);
        });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...