在批处理文件中,我试图等待Java程序完成后再继续。该程序具有GUI界面。
到目前为止,我已经尝试过两者(使用java
和javaw
)
javaw -jar program.jar
start "" /wait javaw -jar program.jar
start "" /wait /b javaw -jar program.jar
call javaw -jar program.jar /wait
两者都继续进行,而无需等待程序完成。
答案 0 :(得分:0)
Javaw 旨在在 GUI 中运行并分离控制台。 改用 java - 并且不要以 start 或 call 为前缀 - 他们将再次在后台运行这些东西。所以你的电话应该看起来像
struct Home: View {
@ObservedObject var viewRouter = ViewRouter()
var tabBarHeight = UITabBarController().tabBar.frame.height
var body: some View {
GeometryReader {geo in
VStack(spacing: 0) {
if self.viewRouter.currentView == "HomeList" {
HomeList()
} else if self.viewRouter.currentView == "Messages" {
Messages()
}else if self.viewRouter.currentView == "Favorites" {
Favorites()
}else if self.viewRouter.currentView == "Search" {
Search()
}else if self.viewRouter.currentView == "Profiles" {
Profiles()
}
HStack{
HomeTabItem(viewRouter: self.viewRouter, tabImage: "house", tabText: "HomeTitle", viewName: "HomeList", badgeNumber: 0)
HomeTabItem(viewRouter: self.viewRouter, tabImage: "envelope", tabText: "MessagesTitle", viewName: "Messages", badgeNumber: 69)
HomeTabItem(viewRouter: self.viewRouter, tabImage: "star", tabText: "FavoritesTitle", viewName: "Favorites", badgeNumber: 0)
HomeTabItem(viewRouter: self.viewRouter, tabImage: "magnifyingglass", tabText: "SearchTitle", viewName: "Search", badgeNumber: 0)
HomeTabItem(viewRouter: self.viewRouter, tabImage: "person", tabText: "ProfileTitle", viewName: "Profiles", badgeNumber: 0)
}.frame(width: geo.size.width, height: tabBarHeight)
.foregroundColor(.white)
.padding(.bottom, geo.safeAreaInsets.bottom)
.background(Color(#colorLiteral(red: 0.259467423, green: 0.5342320204, blue: 0.7349982858, alpha: 1)))
}
.edgesIgnoringSafeArea(.bottom)
}
}
}
另见What is the difference between 'java', 'javaw', and 'javaws'?