复制代码代码如下:
pacote com.wolf.action;
importar java.awt.borderlayout;
importar java.awt.dimension;
importar java.awt.toolkit;
importar java.awt.event.actionEvent;
importar java.awt.event.actionListener;
importar javax.swing.jdialog;
importar javax.swing.timer;
classe pública Demo estende o timer {
private estático final serialversionUid = 2791827603307165823L;
Public Demo (int arg0, ActionListener Arg1) {
super (arg0, arg1);
}
public static void main (string [] args) {
Mydialog mydialog = new mydialog ();
int altura = 150;
TimerAction TimerAction = new TimerAction (mydialog);
Timer timer = novo timer (0, timeraction);
timer.start ();
for (int i = 0; i <10; i ++) {
tentar {
Thread.sleep (100);
} catch (interruptedException e) {
E.PrintStackTrace ();
}
altura = altura + 5;
timeraction.SethEight (altura);
}
Timer.stop ();
nova demonstração (1, timeraction);
}
}
classe TimerAction implementa o ActionListener {
mydialog privado mydialog = null;
private int altura = 0;
public void sethight (int altura) {
this.Height = altura;
}
public timeraction (mydialog mydialog) {
this.mydialog = mydialog;
}
public void ActionPerformed (Evento ActionEvent) {
mydialog.setLocation (((int) mydialog.getScreensize (). getWidth ()) - 200,
((int) mydialog.getScreenSize (). GetHeight () - 20 - altura));
mydialog.setsize (New Dimension (200, altura));
}
}
classe mydialog estende jdialog {
private estático final serialversionUid = 2791827603307165823L;
ScreenSize de dimensão privada = Toolkit.getDefaultToolkit (). getScreensize ();
Public Dimension getScreensize () {
Retornar a captura de tela;
}
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);
}
}