I trie to show a JFrame window but nothing appear (the Spring application boot without any problem)
@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);
}
}
A simple example of Spring Boot Swing integeration. You can read more details of individual steps in this article
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);
});
}
}