Вступление Примеры | Словарь |Вопросы Sun Microsystems |
Примеры программирования на Java
import java.applet.*;
import java.awt.*;
//====================================
public class Stroka extends Applet implements Runnable
// Создается класс, который будет потомком класса Applet.
// Класс Stroka будет использовать потоки, поэтому используется
// интерфейс Runnable, который говорит компилятору, что класс
// Stroka содержит функцию run
{
int x = 0; // Переменные x и y содержат координаты местоположения
int y = 0; // начала строки в каждый момент времени
int count = 0;
int width = 0;
Thread my_thread = null; // Определение объекта my_thread
// типа Thread
Font font; // Определение объекта font
// типа Font
Color color; // Определение объекта color
// типа Color
Color bgColor; // Цвет фона
// Для определения всех доступных шрифтов используется
// класс Tootkit ( Этот класс используется для получения
// информации о Вашей системе)
Toolkit toolkit = Toolkit.getDefaultToolkit();
//После получения апплетом доступа к методам класса Tootkit,
// используется метод getFontList().
// В результате в переменной fontlist[], которая объявлена массивом,
// будет храниться список всех доступных шрифтов
String fontlist[] = toolkit.getFontList();
//============================================
public void init()
{
x = size().width; // Определение начальных координат
y = size().height/2;
width = x;
bgColor = new Color(255,255,255);
setBackground(bgColor);
}
//================================================
public void start()
{
my_thread = new Thread(this); // Создается объект Thread,
my_thread.start(); // а затем запускается поток
}
//=================================================
public void run() // Данная функция отвечает за движение сообщения
{
while(true)
{
repaint();
x -= 1; // с каждым шагом координата х уменьшается на 1
if (x<-150)
{
x = width;
count++; // Индекс шрифта в переменной fontlist
if (count == (fontlist.length))
count = 0;
}
try
{
Thread.sleep(20); // Задержка выполнения на 20 мс
}
catch (InterruptedException e)
{
}
}
}
//===============================================
public void paint(Graphics g) // run вызывает функцию repaint, a repaint
// вызывает paint
{
font = new Font (fontlist[count],Font.PLAIN,20); //Создание объектов
color = new Color (0, count*50, count*50);
// Установка новых параметров цвета и шрифта
g.setFont(font);
g.setColor(color);
g.drawString (fontlist[count],x,y); //Вывод названия шрифта в позицию
// с координатами x y
}
}
|
||