java - 如何在 Swing 延迟几秒后处理帧?

标签 java swing awt swingx swingbuilder

我想延迟 2 到 3 秒处理我的第一帧,然后打开另一帧。我可以使用 dispose() 方法处理帧,但我希望它至少延迟 2 秒。我该怎么做? 下面是我处理框架的登录代码 注意:我在 NetBeans 中使用 GUI builder for swing

private void LoginActionPerformed(java.awt.event.ActionEvent evt) {                                      
        String userName = userField.getText();
        String password = passField.getText();
        if (userName.trim().equals("admin") && password.trim().equals("admin")) {
            message.setForeground(Color.green);
            message.setText(" Hello " + userName
                + "");
            dispose();
            Dashboard mydash = new Dashboard();
            mydash.setVisible(true);
        } else {
            message.setForeground(Color.red);
            message.setText(" Invalid user.. ");
        }
    }                               

最佳答案

正确的解决方案是使用 javax.swing.Timer:

int delay = 3000;
Timer timer = new Timer( delay, new ActionListener(){
  @Override
  public void actionPerformed( ActionEvent e ){
      yourFrame.dispose();
      Dashboard mydash = new Dashboard();
      mydash.setVisible(true);
  }
});
timer.setRepeats(false);
timer.start();

关于java - 如何在 Swing 延迟几秒后处理帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58801696/

相关文章:

java - 二维数组中从最大到最小的最长路径

java - 使用 freemarker 配置构建代码时出现 ClassNotFoundException : freemarker. cache.TemplateLoader --updated

java - 亚马逊 MWS 入门

Java-JTextField 验证

java - 为什么 paint()/paintComponent() 从未被调用过?

java - 如何使用 POI 在 Java 中获取 Excel 中单元格的名称?

java - 如何使用 JTextArea 和 Append

java - 寻找替代的可排序 JXTreeTable

java - 如何在 JFrame 中实现 .png 图片?

java - KeyEvent.VK_CONTEXT_MENU 在 Linux 上由 Robot 发送时不起作用