package com.xindao.ocr.swingui.config;
|
|
import com.xindao.ocr.swingui.swing.FileProcessorApp;
|
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.event.ContextRefreshedEvent;
|
import org.springframework.stereotype.Component;
|
|
import javax.swing.*;
|
|
/**
|
* Swing应用程序配置类,负责在Spring容器初始化完成后启动Swing界面
|
*/
|
@Component
|
public class SwingAppConfig implements ApplicationListener<ContextRefreshedEvent> {
|
|
@Override
|
public void onApplicationEvent(ContextRefreshedEvent event) {
|
// 确保在Swing事件调度线程中启动UI
|
SwingUtilities.invokeLater(() -> {
|
try {
|
// 从Spring上下文获取FileProcessorApp实例
|
// 由于@PostConstruct注解,Spring会自动调用initialize()方法进行初始化
|
FileProcessorApp fileProcessorApp = event.getApplicationContext().getBean(FileProcessorApp.class);
|
System.out.println("Swing界面已通过Spring容器自动初始化");
|
} catch (Exception e) {
|
System.err.println("Swing界面初始化失败: " + e.getMessage());
|
e.printStackTrace();
|
}
|
});
|
}
|
}
|