我正在编写一个弹出消息对话框的提醒程序。问题是所有对话框都显示在彼此之上。我宁愿让他们级联。通常情况下,对于其他程序,会出现一个对话框,然后下一个对话框将略微向下并向侧面移动。我的代码段如下:
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;
答案 0 :(得分:2)
如果使用空组件,JOptionPane
将以父组件或窗口中心为中心。
要控制展示位置,您需要使用自定义JDialog
。然后你可以使用:
dialog.setLocationByPlatform( true );
并且位置将由每个平台的新窗口确定。