Учебное пособие: Многопоточность и работа с потоками

Пример 1. Использование графических примитивов и шрифтов

import java.awt.*;

import j ava.awt.event.*;

class GraphTest extends Frame{

GraphTest(String s) {

super(s);

setBounds(0, 0, 500, 300);

setVisible(true);

}

public void paint(Graphics g){

Dimension d = getSize();

int dx=d.width/20, dy=d.height/20;

g.drawRect(dx, dy+20, d.width-2*dx, d.height-2*dy-20);

g.drawRoundRect(2*dx, 2*dy+20, d.width-4*dx, d.height-4*dy-20, dx, dy);

g.fillArctd.width (2-dx, d.height-2*dy+1,2*dx, dy-1, 0, 360);

g.drawArctd.width (2-3*dx, d.height-3*dy/2-5, dx, dy/2, 0, 360);

g.drawArctd.width (2+2*dx, d.height-3*dy/2 - 5, dx, dy/2, 0, 360);

Font fl = new Font("Serif", Font.BOLD(Font.ITALIC, 2*dy);

Font f2 = new Font ("Serif", Font.BOLD, 5*dy/2);

FontMetrics fml = getFontMetrics(fl);

FontMetrics fm2 = getFontMetrics(f2);

String s1 = "Всякая последняя ошибка";

String s2 = "является предпоследней.";

String s3 = "Закон отладки";

int firstLine = d.height/3;

int nextLine = fml.getHeight();

int secondLine = firstLine+nextLine/2;

g.setFont(f2);

g.drawstring(s3, (d.width-fm2.stringWidth(s3))/2, firstLine);

К-во Просмотров: 384
Бесплатно скачать Учебное пособие: Многопоточность и работа с потоками