JAVA消息对话框彼此重叠

JAVA消息对话框彼此重叠,java,swing,Java,Swing,我正在编写一个弹出消息对话框的提醒程序。问题是,所有对话框都显示在彼此的正上方。我更喜欢把它们串起来。通常情况下,对于其他程序,会弹出一个对话框,然后下一个对话框会稍微向下并向一侧关闭。我的代码片段如下所示: final JFrame frame = new JFrame( "A timer to be a reminder" ); frame.setVisible( false ); frame.setAlwaysOnTop(true); int result = JOptionPane.s

我正在编写一个弹出消息对话框的提醒程序。问题是,所有对话框都显示在彼此的正上方。我更喜欢把它们串起来。通常情况下,对于其他程序,会弹出一个对话框,然后下一个对话框会稍微向下并向一侧关闭。我的代码片段如下所示:

final JFrame frame = new JFrame( "A timer to be a reminder" );
frame.setVisible( false ); 
frame.setAlwaysOnTop(true);
int result = JOptionPane.showConfirmDialog( frame, msg, "Timer", JOptionPane.DEFAULT_OPTION);
有人能指出如何获得想要的行为吗

这已经解决了,我附加了我的代码片段,以便其他人能够找到它

JFrame frame = new JFrame( "A timer to be a reminder" );
frame.setLocationByPlatform( true );
frame.setVisible( true ); 
frame.setAlwaysOnTop(true);
int result = JOptionPane.showConfirmDialog( frame, msg, "Timer", JOptionPane.DEFAULT_OPTION);
frame.setVisible( false );
frame = null;

JOptionPane
位于父组件的中心,如果使用空组件,则位于窗口的中心

要控制位置,您需要使用自定义的
JDialog
。然后您可以使用:

dialog.setLocationByPlatform( true );

位置将由新窗口的每个平台的功能决定。

您的答案可能重复,请引导我找到我确定的解决方案。我真的不想创建自定义对话框,但既然你说它是基于框架的位置,我就把它应用到框架上。它并不完美,但它更适合我。如果有人感兴趣,我将附上我的代码片段,这些代码片段将被编辑到主要文章中。非常感谢。