JOptionPane 不带按钮
2022-09-02 23:50:48
我需要呈现一条信息消息,需要在屏幕中显示5秒钟,在此期间,用户无法关闭对话框。规范清楚地表明,对话框不应该有任何按钮。有没有办法使用JoptionPane.showMessageDialog,使对话框没有按钮?
我需要呈现一条信息消息,需要在屏幕中显示5秒钟,在此期间,用户无法关闭对话框。规范清楚地表明,对话框不应该有任何按钮。有没有办法使用JoptionPane.showMessageDialog,使对话框没有按钮?
使用的方式怎么样,也许不是,但是当我们没有按钮或输入文本的地方时,同样的事情(缺点是它可以被用户关闭):showOptionDialog
showMessageDialog
JOptionPane.showOptionDialog(null, "Hello","Empty?", JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE, null, new Object[]{}, null);
更新
这是另一种方式,它使用和(甚至更好,因为它被用户无法关闭):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);
看起来大卫想出了一些东西来满足你对“没有按钮”的要求。
话虽如此,听起来你可能需要澄清你真正的要求是什么。是否真的要求对话框不可关闭,或者没有按钮来关闭对话框?JOptionPane和JDialog有一个像标准窗口一样的关闭按钮。