home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog Special Freeware 25
/
FreelogHS25.iso
/
Dessin
/
ArtOfIllusion2.2.1
/
ArtOfIllusion.jar
/
bsh
/
commands
/
fontMenu.bsh
< prev
next >
Wrap
Text File
|
2005-05-23
|
2KB
|
80 lines
/**
* Creates a font menu for use with the workspace and workspace editors
*
* @return a font menu
*
* @author Daniel Leuck
*/
fontMenu(component) {
if ( bsh.system.desktop == void ) {
print("fontMenu() only works with the bsh desktop...");
return;
}
JMenu fontMenu = new JMenu("Font");
sizeListener() {
actionPerformed(ae) {
setFont(component, Integer.parseInt(ae.actionCommand));
}
return this;
}
this.sizeListener=sizeListener();
this.boldMenuItem = new JCheckBoxMenuItem("Bold");
this.italicMenuItem = new JCheckBoxMenuItem("Italic");
styleListener() {
actionPerformed(ae) {
setFont(component, null, ((boldMenuItem.selected) ? Font.BOLD : 0) |
((italicMenuItem.selected) ? Font.ITALIC : 0), -1);
}
return this;
}
this.styleListener=styleListener();
familyListener() {
actionPerformed(ae) {
setFont(component, ae.actionCommand, -1, -1);
}
return this;
}
this.familyListener=familyListener();
JMenu sizeMenu = new JMenu("Size");
for(int i:new int[] {9,10,12,14,16,20,24})
sizeMenu.add(new JMenuItem(""+i)).addActionListener(sizeListener);
fontMenu.add(sizeMenu);
JMenu styleMenu = new JMenu("Style");
//styleMenu.add(new JMenuItem("Plain")).addActionListener(this);
styleMenu.add(boldMenuItem).addActionListener(styleListener);
styleMenu.add(italicMenuItem).addActionListener(styleListener);
fontMenu.add(styleMenu);
fontMenu.addSeparator();
for(var s:new String[] {"SansSerif","Monospaced","Serif","LucidaSans"})
fontMenu.add(this.mi=new JMenuItem(s)).addActionListener(familyListener);
fontMenu.addSeparator();
actionPerformed(ae) {
if ( bsh.system.fonts != void )
{
String family = (String)JOptionPane.showInputDialog(component,
"Select a font", "Fonts", JOptionPane.QUESTION_MESSAGE,
null, bsh.system.fonts, component.font.family);
setFont(component, family, -1, -1);
}
}
fontMenu.add(new JMenuItem("More...")).addActionListener(this);
return fontMenu;
}