(1)函数说明: 
字形类Font用于规范组件所使用的字形大小、样式和字体等。其构造函数: 
public Font(String name,int style,int size); 
name表示本地可获取字体名称 
style表示字体样式,包含Font.PLAIN,Font.BOLD,Font.ITALIC三种,分别对应平体、加粗和斜体。

一个有用的方法用来获取本地可用字体 
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); 
String[] fa=ge.getAvailableFontFamilyNames();

通过从绘图环境中获取到本地可用的字体名数组。

(2)代码  用指定的字型约束来显示窗体上的字。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class GraExp extends JFrame
{
CInstead c1=new CInstead();
Container c;
String[] zt;
String[] zx={ "平体" ,"加粗" ,"斜体" } ;String name="Serif" ;
int type=0;
int size=12;
JLabel lbl1=new JLabel("字体:" );
JLabel lbl2=new JLabel("字形:" );
JLabel lbl3=new JLabel("字号:" );JLabel lbl=new JLabel("测试用字abcABC123" );
JComboBox cb1,
cb2=new JComboBox(zx);JTextField tf1=new JTextField(25),
tf2=new JTextField(10);public GraExp()
{
//获取可用字体名称数组
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
zt=ge.getAvailableFontFamilyNames();
cb1=new JComboBox(zt);
setContentPane(c1);
c=getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
c.add(lbl1);
c.add(cb1);
c.add(lbl2);
c.add(cb2);
c.add(lbl3);
c.add(tf1);
lbl.setPreferredSize(new Dimension(200,60));
lbl.setForeground(Color.red);
c.add(lbl);cb1.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent event)
{
int state=event.getStateChange();
name=(String) event.getItem();
setCustomFont(name,type,size);
}
} );
cb2.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent event)
{
int state=event.getStateChange();
String s=(String) event.getItem();
if (s.equals("平体" )){
type=Font.PLAIN;
} else if (s.equals("加粗" )){
type=Font.BOLD;
} else {
type=Font.ITALIC;
} setCustomFont(name,type,size);
}
} );
tf1.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
int c=e.getKeyCode();
if (c==10)
{
String s=tf1.getText();
size=Integer.parseInt(s);
setCustomFont(name,type,size);
}
}
} ); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setSize(new Dimension(400,300));
show();
}
public static void main(String[] args)
{
GraExp ge=new GraExp();
} private void setCustomFont(String name,int type,int size)
{
lbl.setFont(new Font(name,type,size));
lbl.revalidate();
}
class CInstead extends JPanel
{
ImageIcon icon;
Image img;
public CInstead()
{
icon=new ImageIcon(CInstead.class.getResource("333.png" ));
img=icon.getImage();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(img,0,0,null );
}
}
} 

程序效果:

java 用可获取的字体、样式、字号修饰文字相关推荐

  1. Java 读取 Word文档的字体、字号、文字颜色、文字背景、文字是否加粗或倾斜、文字下划线、段落等属性

    Work库:free spire.doc.jar 3.9.0 由于这个包比较大,maven依赖容易下载失败,故此提供百度云下载地址,下载地址在最下面         可支持读取字体.字号.文字颜色.文 ...

  2. xwpftablecell设置字体样式_HTML的文字样式

    font 属性可以用来作为 font-style, font-variant, font-weight, font-size, line-height 和 font-family 属性的简写,或将元素 ...

  3. Java反射03 : 获取Class的注解、修饰符、父类、接口、字段、构造器和方法

    [超级通道 : Java反射学习系列-绪论] java.lang.Class类提供了获取类的各种信息对象的静态方法. 1.通过Class类可以做什么 获取类的包(Package)信息 获取类的注解(A ...

  4. Java Swing 设置全局的字体

    Table of Contents 一.问题描述 二.找资料 1.Swing技巧. 设置全局字体(sun jdk) 2.java swing 界面统一设置字体样式 三.尝试解决 1.使用默认的字体(即 ...

  5. objectArx --- 层表、字体样式表

    目录 一.层表 1.1 层表类 1.2 测试代码 二.字体样式表 2.1 字体样式表类 2.2 测试代码 一.层表 不可删除:图层为当前图层时,不可删除 不可知:图层上有实体,删除图层后,实体无依附图 ...

  6. tkinter 菜单添加事件_Python+tkinter设置Label字体、字号、样式、对齐方式、鼠标形状、响应鼠标事件...

    推荐图书: <Python程序设计基础(第2版)>,ISBN:9787302490562,董付国,清华大学出版社,第16次印刷,清华大学出版社2019年度畅销图书 图书详情:配套资源:用书 ...

  7. Python+tkinter设置Label字体、字号、样式、对齐方式、鼠标形状、响应鼠标事件

    推荐图书: <Python程序设计基础(第2版)>,ISBN:9787302490562,董付国,清华大学出版社,第16次印刷,清华大学出版社2019年度畅销图书 图书详情: 配套资源:用 ...

  8. Java 在Excel单元格中应用一种/多种字体样式

    在Excel表格中,设置单元格字体样式时,可以对单元格内的所有字符应用同一样式,即获取指定单元,应用样式即可:另外也可以对单元格内的不同字符内容应用不同字体样式,即获取单元格中的字符位置,应用样式:本 ...

  9. java excel 字体_Java 在Excel单元格中应用一种/多种字体样式

    在Excel表格中,设置单元格字体样式时,可以对单元格内的所有字符应用同一样式,即获取指定单元,应用样式即可:另外也可以对单元格内的不同字符内容应用不同字体样式,即获取单元格中的字符位置,应用样式:本 ...

最新文章

  1. 今日运势 酷q_一言及每日运势API开源
  2. 常考数据结构与算法:容器盛水问题
  3. 程序员避免颈椎病攻略
  4. 9、linux内存管理子系统
  5. 算法训练营04-map,set,dequeue,stack
  6. 河南多校大一训练赛 C 青蛙的约会
  7. 高级JAVA码农必须搞清楚它们的区别:instanceof、isInstance、isAssignableFrom
  8. CE3和UE3在多线程渲染方面的简单对比
  9. 计算机显微视觉相关概念,机器视觉的概念及常见应用
  10. [码海拾贝 之Perl]获取日期以及日期的加减
  11. mybatis字符串转成数字_JavaScript 字符串中的 pad 方法!
  12. 林子雨_大数据技术原理与应用课后习题
  13. 解密Excel文件打开密码
  14. 如何用markdown排版公众号,使用排版神器Markdown Nice
  15. 玩转微信营销和推广的10种方法和技巧
  16. 杭电 2022 海选女主角
  17. 5G NR协议栈SDAP、PDCP
  18. mysql建图书馆表_创建学校图书馆数据库 BookDB
  19. shell脚本编程for循环求阶乘_shell脚本循环及函数
  20. 独家:被纽约时报、华尔街日报报道的Senior Living是如何成为美国养老产业的“流量IP”?

热门文章

  1. 第一篇博客———越努力越幸运
  2. 样本方差公式是如何推导出来的?
  3. Oxford-Man Institute:十月论文推荐
  4. 【Shader】网格 Mesh
  5. 名帖381 解缙 草书《自书诗》
  6. 2023年【安全员-C证】考试报名及安全员-C证复审考试
  7. freeswitch之顺振不振铃
  8. 数据库复习2. Relational Algebra 关系代数
  9. C#关键字之abstract详解
  10. 上海社保案凸显中国社会保障软肋