//EJEMPLO DE DIFERENTES TIPOS DE LETRA
import java.awt.*;
import java.awt.event.*;
import java.awt.font.*;
public class StyledText extends Frame {
static final int width = 600;
static final int height = 400;
MyMenuBar menuBar;
EventHandler eh = new EventHandler();
FontRenderContext frc;
public static void main(String args[]){
StyledText app = new StyledText();
}
public StyledText() {
super("Estilos de texto");
setupMenuBar();
add("Center",new MyCanvas());
setSize(width,height);
addWindowListener(eh);
setVisible(true);
}
void setupMenuBar(){
Object menuItems[][] = {{"Archivo","Salir"}};
menuBar = new MyMenuBar(menuItems,eh,eh);
setMenuBar(menuBar);
}
class MyCanvas extends Canvas {
public void paint(Graphics graphics) {
Graphics2D g = (Graphics2D) graphics;
frc = g.getFontRenderContext();
TextLayout[] s = createStyledStrings();
int yOffset = 0;
for(int i=0;i<s.length;++i) {
s[i].draw(g,100,100+yOffset);
yOffset += s[i].getAscent()+s[i].getDescent()+s[i].getLeading();
}
}
}
TextLayout[] createStyledStrings() {
TextLayout[] s = new TextLayout[3];
Font f1 = new Font("Helvetica",Font.BOLD,24);
Font f2 = new Font("TimesRoman",Font.ITALIC,14);
Font f3 = new Font("Helvetica",Font.PLAIN,12);
s[0] = new TextLayout("Esta es la linea uno.",f1,frc);
s[1] = new TextLayout("Esta es la linea dos.",f2,frc);
s[2] = new TextLayout("Esta es la linea tres.",f3,frc);
return s;
}
class EventHandler extends WindowAdapter implements ActionListener,
ItemListener {
public void actionPerformed(ActionEvent e){
String selection=e.getActionCommand();
if("Salir".equals(selection)){
System.exit(0);
}
}
public void itemStateChanged(ItemEvent e){
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
}