Java -практика использования



             

Листинг 9 6 Вывод текста средствами Java 20



Листинг 9.6. Вывод текста средствами Java 20 

import java.awt.*; 

import j ava.awt.font.*; 

import j ava.awt.geom.*; 

import java.awt.event.*

class StillText extends Frame{ 

StillText(String s) { 

super(s);

setSize(400, 200); 

setvisible(true); 

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent ev){

System.exit(0) ; 

}

}); 

}

public void paint(Graphics gr){ 

Graphics2D g = (Graphics2D)gr; 

int w = getSize().width, h = getSize().height; 

FontRenderContext frc = g.getFontRenderContext(); 

String s = "Тень";

Font f = new Font("Serif", Font.BOLD, h/3); 

TextLayout tl = new TextLayout(s, f, frc);

AffineTransform at = new AffineTransform(); 

at.setToTranslation(w/2-tl.getBounds().getwidth()/2, h/2);

Shape sh = tl.getOutline(at); 

g.draw(sh);

AffineTransform atsh =

new AffineTransform(1, 0.0, 1.5, -1, 0.0, 0.0);

g.transform(at);

g.transform(atsh);

Font df = f.deriveFont(atsh);

TextLayout dtl = new TextLayout(s, df, frc);

Shape sh2 = dtl.getOutline(atsh);

g.fill(sh2); } public static void main(Stnng[] args) {

new StillText(" Эффект тени"); 

}

На Рисунок 9.6 показан вывод этой программы.









Содержание  Назад  Вперед