Эксперимент 14

пакет shiyan14;

импорт java.awt.event.ActionEvent;
импорт java.awt.event.ActionListener;
импорт java.awt.event.KeyEvent;
импорт java.awt.event.KeyListener;
импорт java.util.Timer;
импорт java.util.TimerTask;

импорт javax.swing.JButton;
импорт javax.swing.JFrame;
импорт javax.swing.JLabel;
импорт javax.swing.JTextField;

расширяет JFrame класс ShiYan14 {общественный
/ **
*
* /
Private Long статическую Окончательная serialVersionUID = 1L;
// определение компонента
Private lblTime JLabel;
Частный txtInput JTextField;
Private JButton btnEnter;
// Конструкторы
общественное ShiYan14 () {
// установить форму соответствующие атрибуты
Супер ( "ShiYan14");
this.setSize (300, 200);
this.setLayout (нуль);
this.setLocation (100,50);
// создаем компоненты
this.lblTime = новый JLabel ( "ввести обратный отсчет времени." );
this.lblTime.setBounds (30,20,200,30);
this.txtInput новый новый = JTextField ();
this.txtInput.setBounds (30,70,100,30);
this.btnEnter JButton нового новый = ( "OK");
это .btnEnter.setBounds (150,70,70,30);
// JTextField , чтобы зарегистрировать слушатель
this.txtInput.addKeyListener (The KeyListener новый новый () {
общественных недействительный KeyPressed (KeyEvent КА) {}
общественных недействительного keyReleased (KeyEvent КА) {}
общественных недействительного keyTyped (KeyEvent КА) {
// tInput_KeyTyped (КА);
}
});
// JButton , чтобы зарегистрировать слушателя
this.btnEnter.addActionListener (The ActionListener новый новый () {
общественного недействительными actionPerformed (The ActionEvent АЕ) {
btnEnter_ActionPerformed (АЕ);
}
});
// добавление компонентов с образованием
добавления ( lblTime);
надстройки (txtInput);
надстройки (btnEnter);
// отобразить вид
this.setVisible (истина);
}
события // обработку входных данных, пользователь может управлять входным цифровым
общественным недействительным txtInput_KeyTyped (KeyEvent KE) {
IF (ke.getKeyChar () < '0' || ke.getKeyChar ()>»9' .) {
Ke.setKeyChar ( '\ 0');
}
}
// нажмите кнопку обработки событий
общественной ничтожной btnEnter_ActionPerformed (ActionEvent к.э. ) {
// получить отсчет времени ввода пользователем
строки strTime = this.txtInput.getText ();
Если (strTime.equals ( "")) {
// обнаружить ли вводимые пользователем
this.lblTime.setText ( «Вы не ввели, пожалуйста , вход «) ;!
}
еще {
Integer = временная Integer.parseInt (strTime);
// Создать поток
TimeThread нового новый TT = TimeThread (this.lblTime, время);
tt.start ();
// Создание таймера
Таймер Таймер нового новый = с помощью таймера ();
timer.schedule (TimerTask новая новая () {
// запустить другую программу
общественной недействительной RUN () {
из System.out.print ( "OK");
}
}, * Время 1000);
}
}
// Запуск формы
государственной статической силы основных (String [] арг) {
новый новый ShiYan14 ();
}
}
// время класс резьбы
класс TimeThread расширяет тему {
Private lblTime в JLabel;
Private ИНТ времени;
// конструктор передается во время JLabel отображения и отсчет событиях.
TimeThread общественный (The JLabel lblTime, Int Время) {
this.lblTime = lblTime;
this.time = время;
}
// метод ПУСКА
общественного недействительный ПУСК () {
это время (время> 0) {
// отображать оставшееся время
this.lblTime. SetText ( "времени осталось:" + время + "S");
// время , оставшееся до сокращения
времени -;
попробовать {
Thread.sleep (1000);
} улов (InterruptedException E) {
e.printStackTrace ();
}
}
}
}

 

Результаты:

 

 

 

 

рекомендация

отwww.cnblogs.com/1998bmx/p/11110471.html
рекомендация