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

        

Вывод текста средствами Java



Листинг 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 показан вывод этой программы.




Содержание раздела