Java 如何放置JOptionPane。将输入对话框显示到屏幕上的第一个位置?

Java 如何放置JOptionPane。将输入对话框显示到屏幕上的第一个位置?,java,swing,joptionpane,Java,Swing,Joptionpane,假设我这里有这个代码 String s=JOptionPane.showInputDialog("Type your age: "); 然后我运行它,由于某种原因窗格没有显示。你需要最小化所有窗口,在那里你会找到它!这种情况并不总是发生,我也看到这种情况发生在导师身上,这应该知道为什么。。。 所以问题是: 如何设置showInputDialog,使其始终位于屏幕前部 我查看了,但找不到用于设置此参数的方法的任何参数(类似于JOptionPane.showInputDialog(“message

假设我这里有这个代码

String s=JOptionPane.showInputDialog("Type your age: ");
然后我运行它,由于某种原因窗格没有显示。你需要最小化所有窗口,在那里你会找到它!这种情况并不总是发生,我也看到这种情况发生在导师身上,这应该知道为什么。。。 所以问题是:

如何设置showInputDialog,使其始终位于屏幕前部

我查看了,但找不到用于设置此参数的方法的任何参数(类似于JOptionPane.showInputDialog(“message”,FRONT))。我还看到,您可以使用JDialog设置位置,但是JDialog有一个setLocation,该设置只是位置(x,y),而不是其他窗口之间的位置

这是一个经常发生的代码:

public static void main (String [] args){
    Scanner input=new Scanner (System.in);
    System.out.println("Choose a form: \nSquare - 1\nCircle - 2\nRectangle - 3");
    int form=input.nextInt();
    switch (form){
    case 1:
        int height=Integer.parseInt(JOptionPane.showInputDialog("What is the height of the square?"));
    }
}

您可以使用
JOptionPane.showInputDialog(根窗格,“键入您的年龄”)


rootPane
更改为您的父组件。

您是否可以发布一个完整的示例来重现此问题。每当我使用JOptionPane时,它都会正确地出现在其他窗口的顶部。@Codebender,这种情况就发生在我身上。。。我正在使用Eclipse,我想知道它是否是一个bug…@Codebender,我添加了一个示例。。。很抱歉耽搁了!它隐藏在哪个应用程序下面?有些应用程序总是显示在顶部。这不是一个bug——这里的控制台与GUI的关系不太好。使您的GUI成为一个纯GUI,而不是一些控制台/GUI bastardization,它将正常工作。此代码仅适用于GUI,并且在基于控制台的程序中无法使用它。当我运行您的示例时,它运行良好,没有任何混乱。