Java.awt.Font 类
来源:互联网 发布:胡歌顶级时尚资源知乎 编辑:程序博客网 时间:2024/06/05 07:12
java.awt.Font
构造方法:
1.protected Font(Font font)
根据指定 font 创建一个新 Font。
参数:
font - 用来创建新 Font 的字体。
抛出异常:
NullPointerException - font 为空时
2.protected Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
创建一个具有指定属性的新 Font。只有 TextAttribute 中定义的键被识别。此外,FONT 属性也没有被此构造方法识别(请参阅 getAvailableAttributes())。只有具有有效类型值的属性会影响新的 Font。如果 attributes 为 null,则使用默认值初始化新 Font。
参数:
attributes - 分配给新 Font 的属性,或 null。
3.protected Font(string name, int style, int size)
根据指定名称、样式和磅值大小,创建一个新 Font。
参数:
name - 字体名称。可以为字体外观名称或者字体系列名称,例如 "Times New Roman","Arial Italic","等线" 等,字体样式区分大小写。
当字体名称中加入字体样式时,应当注意和参数字体样式组合的结果。当两者不互相矛盾时,最终显示效果为两者叠加的效果,例如 name = "Arial Italic"和 style = "Font.BOLD" 组合的显示效果为即是斜体又是粗体的效果,与 name = "Arial Bold Italic" 或者 style = "Font.BOLD + Font.ITALIC" 的效果相同。当两者相同时,例如 "Arial BOLD" 和 "Font.BOLD" 的组合效果并不会双倍加粗字体,斜体同理。当两者相互矛盾时,即 "Arial Bold" 和 "Font.PLAIN" 同时使用时,显示效果为加粗。
如果无法找到所要求的字体的样式,则字体系统可以通过相应的算法实现所要求的样式,例如要求倾斜,但相应字体没有可用的斜体外观,则会调用相关算法使字体倾斜。
如果无法找到要求的字体名称,则会使用默认字体,并且通过 getFontName() 得到的字体名称为 "Dialog.plain/Dialog.bold/Dialog.italic/Dialog.bolditalic", 通过 getFamily() 得到的是 "Dialog"。
style - 字体样式。常用的值为 Font.PLAIN, Font.BOLD, Font.ITALIC 三者的任意结合,用运算符连接,通常为加号,三者的值分别为 0, 1, 2, 组合后按运算出的值对应显示效果,结果为 3 时则是加粗加斜的字体,也可以直接给出字体样式相应的数字值对字体样式进行设置,当数值没有对应的字体样式时,显示效果为普通样式,即 Font.PLAIN.
size - Font 的磅值大小。
常用的常量字段值:
public static final int PLAIN == 0;
public static final int BOLD == 1;
public static final int ITALIC == 2;
public static final String DIALOG == "Dialog";
public static final String DIALOG_INPUT == "DialogInput";
常用的方法:
String getFamily() - 返回此字体系列的名称,添加参数 "Locale l" 针对语言环境进行优化。
String getFontName() - 返回此字体外观的名称,添加参数 "Locale l" 针对语言环境进行优化。
String getName() - 返回此字体的逻辑名称,注意此名称为字体的逻辑名称,即新建字体时第一个参数,即使计算机中无法找到此字体,该函数返回的依然是参数中指定的字体名称,也就是说,该函数返回的是新建字体时第一个参数的字符串值,即使字体名称中指定了字体系列的样式时,也会原封不动地返回。
int getSize() - 整数型式返回该字体磅值的大小。
float getSize2D() - 浮点数形式返回该字体磅值的大小。
int getStyle() - 返回此字体的样式,返回的整数与字体样式的对应关系见上文。
boolean isBold() - 返回此字体的样式是否为粗体,粗斜体时为真。
boolean isItalic() - 返回此字体的样式是狗为斜体,粗斜体时为真。
boolean isPlain() - 返回此字体的样式是否为普通。
String toString() - 将此 Font 对象转换为字符串。转换具体结果见下文中的示例。
代码示例:
import java.awt.Container;import java.awt.Font;import java.awt.GridLayout;import javax.swing.JFrame;import javax.swing.JLabel;public class FontDemo extends JFrame{private JLabel labels[];private String names[] = {"getFamily:","getFontName:","getName:","getSize:","getSize2D:","getStyle:","isBold:","isItalic:","isPlain:","toString:"};public FontDemo(){super("FontDemo");Font font = new Font("Times New Roman Italic", Font.BOLD, 30);//新建一个 Font 对象Container container = getContentPane();container.setLayout(new GridLayout(10,2,10,10));labels = new JLabel[20];for(int count = 0; count < 10; count++){labels[count*2] = new JLabel(names[count]);}labels[1] = new JLabel(font.getFamily());//10个常用方法的结果labels[3] = new JLabel(font.getFontName());labels[5] = new JLabel(font.getName());labels[7] = new JLabel("" + font.getSize());labels[9] = new JLabel("" + font.getSize2D());labels[11] = new JLabel("" + font.getStyle());labels[13] = new JLabel("" + font.isBold());labels[15] = new JLabel("" + font.isItalic());labels[17] = new JLabel("" + font.isPlain());labels[19] = new JLabel(font.toString());for(int count = 0; count < 20; count++){labels[count].setFont(font);//将文本设置为该字体container.add(labels[count]);}setVisible(true);setSize(800,600);}public static void main(String[] args){FontDemo application = new FontDemo();application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}
运行结果:
最后一行 toString() 的完整表达为:
- Java.awt.Font 类
- java.awt.Font
- java.awt.Frame类
- java.awt.Label类
- java.awt.Button类
- java.awt.TextField类
- java.awt.TextArea类
- java.awt.Checkbox类
- java.awt.Choice类
- java.awt.List类
- java.awt.peer类
- Java.awt.Robot类
- java.awt.Choice类
- Font字体类 java
- JAVA Font类
- Java Font类
- Java的Font类
- java AWT 给 Font 添加删除线和下划线(2D绘图)
- 优化 | 再用传统分页SQL你就死定了
- Wireshark入门教程
- java中线程优先级是怎么回事给出一个例子
- c#使用委托实现辛普森法求多个函数的定积分
- sqlserver 多个条件的 LIKE语句
- Java.awt.Font 类
- 脑图和目录的区别
- 优化 | MySQL全面快速优化参考
- Spring-9 , 使用外部属性文件
- NYOJ1294 刚哥遇到了感情问题(二)(字符串处理)
- 程序编译,链接过程
- CodeForces 787A The Monster
- css中的z-index(一)
- 在linux服务器上搭建相对安全的FTP服务器