java右下角弹窗示例分享

复制代码 代码如下:

package com.wolf.action;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JDialog;
import javax.swing.Timer;

public class Demo extends Timer {

 private static final long serialVersionUID = 2791827603307165823L;

 public Demo(int arg0, ActionListener arg1) {
  super(arg0, arg1);
 }

 public static void main(String[] args) {
  MyDialog mydialog = new MyDialog();
  int height = 150;
  TimerAction timerAction = new TimerAction(mydialog);
  Timer timer = new Timer(0, timerAction);
  timer.start();
  for (int i = 0; i < 10; i++) {
   try {
    Thread.sleep(100);
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
   height = height + 5;
   timerAction.setHeight(height);
  }
  timer.stop();
  new Demo(1, timerAction);
 }
}

class TimerAction implements ActionListener {
 private MyDialog mydialog = null;

 private int height = 0;

 public void setHeight(int height) {
  this.height = height;
 }

 public TimerAction(MyDialog mydialog) {
  this.mydialog = mydialog;
 }

 public void actionPerformed(ActionEvent event) {
  mydialog.setLocation(((int) mydialog.getScreenSize().getWidth()) - 200,
    ((int) mydialog.getScreenSize().getHeight() - 20 - height));
  mydialog.setSize(new Dimension(200, height));
 }
}

class MyDialog extends JDialog {

 private static final long serialVersionUID = 2791827603307165823L;

 private Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

 public Dimension getScreenSize() {
  return screenSize;
 }

 public MyDialog() {
  super();
  init();
 }

 private void init() {
  this.getContentPane().setLayout(new BorderLayout());
  this.setLocation(((int) screenSize.getWidth()) - 200,
    ((int) screenSize.getHeight() - 20));
  this.setVisible(true);
  this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
 }

}