如何在 Spring 应用程序中 运行 JFrame?
How to run a JFrame in a Spring application?
我尝试显示 JFrame window 但没有显示
(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);
}
}
Spring Boot Swing 整合的一个简单示例。您可以在 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);
});
}
}
我尝试显示 JFrame window 但没有显示 (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);
}
}
Spring Boot Swing 整合的一个简单示例。您可以在 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);
});
}
}