Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.Timer;

public class Main {
    public static void main(String[] args) {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JButton button = new JButton("Bring me to top after 3 seconds");
        button.addActionListener(e -> triggerBringToFront(f, 3000));
        f.getContentPane().add(button);

        f.pack();
        f.setVisible(true);
    }

    private static void triggerBringToFront(final JFrame f, final int delayMS) {
        Timer timer = new Timer(delayMS, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // This will only cause the task bar entry
                // for this frame to blink
                // f.toFront();

                // This will bring the window to the front,
                // but not make it the "active" one
                // f.setAlwaysOnTop(true);
                // f.setAlwaysOnTop(false);

                if (!f.isActive()) {
                    f.setState(JFrame.ICONIFIED);
                    f.setState(JFrame.NORMAL);
                }
            }
        });
        timer.setRepeats(false);
        timer.start();
    }
}