JAVA Message对话框彼此叠加

时间:2015-11-04 19:32:44

标签: java swing

我正在编写一个弹出消息对话框的提醒程序。问题是所有对话框都显示在彼此之上。我宁愿让他们级联。通常情况下,对于其他程序,会出现一个对话框,然后下一个对话框将略微向下并向侧面移动。我的代码段如下:

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;

1 个答案:

答案 0 :(得分:2)

如果使用空组件,JOptionPane将以父组件或窗口中心为中心。

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

dialog.setLocationByPlatform( true );

并且位置将由每个平台的新窗口确定。