Java 如何将程序置于弹出窗口后面?
正如您在下面的“我的代码”中所看到的,当单击Java 如何将程序置于弹出窗口后面?,java,Java,正如您在下面的“我的代码”中所看到的,当单击helpsection方法时,会打开一个PDF文件。我想知道的是,与其说PDF是程序的幕后黑手,不如说我该如何把窗口放在程序的前面?我尝试使用Desktop.setVisible(true)
helpsection
方法时,会打开一个PDF文件。我想知道的是,与其说PDF是程序的幕后黑手,不如说我该如何把窗口放在程序的前面?我尝试使用Desktop.setVisible(true)但是,我没有运气收到错误消息
程序代码
import java.util.Scanner; //taking input from user
import java.io.File;
import java.awt.Desktop;
public static void helpsection() {
try {
Desktop.getDesktop().open(new File("CVliamdocherty.pdf"));
Desktop.setVisible(true);
} catch(Exception e) {
System.out.println(e);
}
System.out.println("Would you like to go back into the program to select a course to find out your grade?");
System.out.println("You can enter 'Yes' or 'No' only.");
outcome2 = userinput.next();
if (outcome2.equalsIgnoreCase("Yes")) {
step1();
} else if (outcome2.equalsIgnoreCase("No")) {
System.out.println((username)+" thanks for using Liam's UCAS grade calculator.");
System.exit(0);
} else {
System.out.println("You have entered an invalid value.");
System.out.println("The program now will re run, make sure to enter the correct value next time.");
step1();
}
}
尝试使用默认pdf查看器打开pdf文档
Desktop desktop = Desktop.getDesktop();
desktop.open(new File("CVliamdocherty.pdf"));
我还没有尝试过你的代码,因为我目前正在使用Linux,它需要一个使用xdg open打开一个带有默认应用程序的文档。因此,只要试着看看它是否有效假设您使用的是Swing/AWT,您可以简单地调用。显示帧/窗口的代码当您说“在程序后面”时,我想您的意思是在正在运行的终端后面。将终端交互与桌面操作混合在一起是不常见的。如果要控制windows的行为,请将应用程序设置为GUI,并在创建的对话框窗口中显示文档,而不是使用Desktop.open。您可能没有注意到,但这正是OP所做的。他正试图在他的GUI前显示PDF查看器。@我的主要理解是PDF文件已打开,但您必须切换到PDF应用程序才能查看PDF文档。我刚刚发布的内容将在默认pdf查看器中打开pdf,并将焦点切换到pdf查看器应用程序我看不到Desktop.getDesktop().open(新文件(“CVliamdocherty.pdf”))之间的区别
和Desktop Desktop=Desktop.getDesktop();打开(新文件(“CVliamdocherty.pdf”)代码>?它似乎不起作用?我以前以为是的,但事实并非如此。