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”)?它似乎不起作用?我以前以为是的,但事实并非如此。