|
|||
|
Примеры программирования на Java
import java.awt.*;
import java.applet.*;
import java.util.*;
public class flashingtext extends Applet implements Runnable {
// Создаем класс , который будет потомком класса Applet и реализовывать
// интерфейс Runnable
String text = "Welcome|To|Java|World !";
// Строка text - это тот текст который будет выводиться на экран
// Конец строки в тексте обозначается символом '|'
int delay = 250;
// Переменная delay позврляет управлять задержкой в методе run , т.е.
// скоростью перемещения текста по экрану
Thread motor;
Color textColor; //В textColor храниться текущтй цвет текста
Graphics gs; //Графический контекст
FontMetrics fm; //В fm должны храниться свойства шрифта
Dimension dim; //Переменная должна содержать размер окна апплета
int fontHeight; //высота текста
String curString; //Текущая трока текста
//******************************************************
//* Метод init ( первоначальная инициализация апплета )*
//******************************************************
public void init () {
dim = size (); //Запоминаем размер окна апплета
gs = getGraphics(); //Получаем графический контекст окна апплета
gs.setFont ( new Font ("Helvetica",Font.PLAIN,22) );
// Устанавливаем шрифт
fm = gs.getFontMetrics(); //запоминаем метрику шрифта
fontHeight = fm.getHeight(); //запоминаем высоту шрифта
}
//**********************************************
//*Метод start ( инициализация объекта Thread )*
//**********************************************
public void start () {
setBackground(Color.black); // Устанавливаем цвет фона
textColor = Color.black;
motor = new Thread (this); // Создаем объект класса Thread
motor.start(); // Запускаем процесс , связанный с motor
}
//****************************************************
//*Метод stop ( служит для остановки работы апплета )*
//****************************************************
public void stop () {
motor.stop();
}
//******************************
//*Метод run ( запуск апплета )*
//******************************
public void run () {
while (true) { //Начало бесконечного цикла
StringTokenizer st = new StringTokenizer(text,"|");
// Достаем из переменной text подстроки ,
// разделенные символом '|' до тех пор ,
// пока не достанем все ...
while(st.hasMoreTokens()) {
// ... и помещаим в curString
curString = st.nextToken();
int i;
// В цикле идем от черного цвета к белому
// каждый раз увеличивая R,G и B составляющую цвета
for ( i=0 ; i?255 ; i++ ) {
textColor = new Color(i,i,i);
paint(gs);
try {
Thread.sleep(1000/delay); // пытаемся остановиться на 1000/delay
// милисекунд
} catch (InterruptedException e) {};
}
try {
Thread.sleep(500); // пытаемся остановиться на 1/2 секунды
} catch (InterruptedException e) {};
// Теперь идем обратно
// каждый раз уменьшая R,G и B составляющую цвета
for ( i=255 ; i?0 ; i-- ) {
textColor = new Color(i,i,i);
paint(gs);
try {
Thread.sleep(1000/delay); // пытаемся остановиться на 1000/delay
// милисекунд
} catch (InterruptedException e) {};
}
}
}
}
//***********************************
//Метод paint ( перерисовка экрана )*
//***********************************
public void paint (Graphics g) {
g.setColor(textColor); // устанавливаем текущий цвет текста (см. run () )
// Центрируем выводимую строку по осям X и Y
int x = ( dim.width - fm.stringWidth(curString))/2;
int y = ( fm.getAscent() + (dim.height - (fm.getAscent() +fm.getDescent()))/2);
g.drawString(curString,x,y); // Рисуем curString на экране
}
public void update (Graphics g) {
paint (g);
}
}
Sun Microsystems |
||