rendered paste bodyimport javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;
public class FlyingWindow extends JFrame implements ActionListener {
JLabel information;
JPanel container;
Timer move;
Timer wait;
Timer goAway;
int width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth() - 105;
int height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight() - 140;
int verticalLocation = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
public FlyingWindow(String notify) {
System.out.println(Toolkit.getDefaultToolkit().getScreenSize().getHeight());
container = new JPanel();
container.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
information = new JLabel(notify, JLabel.CENTER);
container.add(information);
setUndecorated(true);
setSize(100, 100);
//setLocation((int) Toolkit.getDefaultToolkit().getScreenSize().getWidth(), (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight());
setLocation(width, verticalLocation);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(container);
show();
move = new Timer(30, this);
wait = new Timer(5000, this);
wait.setRepeats(false);
goAway = new Timer(30, this);
move.start();
}
public void actionPerformed (ActionEvent e) {
if (move.isRunning()) {
if (verticalLocation > height) {
verticalLocation -= 5;
this.setLocation(width, verticalLocation);
}
else {
move.stop();
wait.start();
}
}
else if ((! move.isRunning()) && (! goAway.isRunning())) {
wait.stop();
goAway.start();
}
else if (goAway.isRunning()) {
if (verticalLocation < 1024) {
verticalLocation += 5;
this.setLocation(width, verticalLocation);
}
else {
goAway.stop();
}
}
}
public static void main(String[] args) {
new FlyingWindow("Inbox!");
}
}