В данном примере показан один из вариантов создания окна с текстом, который отбрасывает тень.
import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.awt.event.*;
class ShEffect extends Frame {
ShEffect (String s)
{
super(s);
setSize(700, 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="The shadow effect";
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 (String[] args)
{
new ShEffect("The shadow effect");
}
}