bre*_*leq 11 java swing joptionpane
我需要在屏幕上显示需要5秒的信息消息,在此期间,用户无法关闭对话框.规范明确指出对话框不应该有任何按钮.有没有办法我可以用对话框没有按钮的方式使用JoptionPane.showMessageDialog?
Dav*_*amp 32
这种方式如何使用showOptionDialog,也许不是showMessageDialog,但当我们没有按钮或输入文本的地方时(同样的事情可以由用户关闭)同样的事情:

JOptionPane.showOptionDialog(null, "Hello","Empty?", JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE, null, new Object[]{}, null);
Run Code Online (Sandbox Code Playgroud)
UPDATE
这是另一种方式,它使用JOptionPane和JDialog(甚至更好,因为它是用户无法关闭的):

final JOptionPane optionPane = new JOptionPane("Hello world", JOptionPane.INFORMATION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, new Object[]{}, null);
final JDialog dialog = new JDialog();
dialog.setTitle("Message");
dialog.setModal(true);
dialog.setContentPane(optionPane);
dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
dialog.pack();
//create timer to dispose of dialog after 5 seconds
Timer timer = new Timer(5000, new AbstractAction() {
@Override
public void actionPerformed(ActionEvent ae) {
dialog.dispose();
}
});
timer.setRepeats(false);//the timer should only go off once
//start timer to close JDialog as dialog modal we must start the timer before its visible
timer.start();
dialog.setVisible(true);
Run Code Online (Sandbox Code Playgroud)