|
on и getScreenSize, с помощью которых аплет может,
соответственно, плучить список шрифтов, определить разрешение и размер экрана.
Последние два параметра позволяют сформировать содержимое окна аплета
оптимальным образом исходя из объема информации, который может в нем
разместиться.
Метод paint
В методе paint прежде всего мы определяем полную высоту символов шрифта,
которая будет использована при выводе строк. Высота шрифта определяется
следующим образом:
FontMetrics fm = g.getFontMetrics();
yStep = fm.getHeight();
Зная высоту шрифта и количество элементов в списке доступных шрифтов, мы
можем изменить размер окна аплета по вертикали таким образом, чтобы в нем
поместились все строки. Количество элементов в массиве fntlist равно fntlist.
length, а полную высоту шрифта мы только что определили. Для изменения высоты
окна аплета мы используем метод resize:
resize(150, 20 + yStep * fntlist.length);
Далее мы определяем новые размеры окна аплета, закрашиваем фон окна желтым
цветом и обводим окно тонкой рамкой черного цвета:
Dimension dimAppWndDimension = size();
g.setColor(Color.yellow);
g.fillRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
g.setColor(Color.black);
g.drawRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
Эту операцию мы уже выполняли в предыдущем приложении.
Список установленных шрифтов выводится достаточно просто в цикле:
for(int i = 0; i < fntlist.length; i++)
{
g.drawString(fntlist[i], 10, yStart + yStep * i);
}
Здесь содержимое параметра цикла (переменной i) меняется от 0 до количества
элементов в массиве length. Каждая новая строка рисуется со смещением, равным
полной высоте символов текущего шрифта, выбранного в контекст отображения.
Приложение TextOut
До сих пор наши аплеты не получали параметров из документов HTML, в которые
мы их встраивали. Конечно, все константы, текстовые строки, адреса URL и другую
информацию можно закодировать непосредственно в исходном тексте аплета, однако,
очевидно, это очень неудобно.
Пользуясь операторами , расположенными в документе HTML сразу после
оператора
|
|