首页javajdialogJava Swing - 如何使JDialog在几秒钟后消失

Java Swing - 如何使JDialog在几秒钟后消失

我们想知道如何使JDialog在几秒钟后消失。
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;

public class Main {
  public static void main(String[] args) {
    JFrame frame = new JFrame("Testing");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLayout(new BorderLayout());
    frame.add(new JLabel("Auto Hide"));
    frame.pack();
    frame.setVisible(true);

    Timer autoHideTimer = new Timer(1000, new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        frame.dispose();
      }
    });
    autoHideTimer.setRepeats(false);

    frame.addMouseListener(new MouseAdapter() {
      @Override
      public void mouseExited(MouseEvent e) {
        System.out.println("Restart...");
        autoHideTimer.restart();
      }
      @Override
      public void mouseEntered(MouseEvent e) {
        System.out.println("Stop");
        autoHideTimer.stop();
      }
    });
  }
}