Java GUI编程:字体控制与Swing简介

需积分: 9 4 下载量 61 浏览量 更新于2024-07-13 收藏 443KB PPT 举报
本文主要介绍了在图形用户界面(GUI)中如何控制字体的绘制,重点关注Java AWT库中的`Font`类以及Swing库在GUI开发中的应用。 在Java的图形用户界面编程中,`java.awt.Font` 类是用于创建和操作字体的关键对象。通过这个类,你可以设置字符串的样式,例如常规、加粗或倾斜。例如,创建一个20号大小、倾斜的宋体字体可以这样表示: ```java Font f = new Font("宋体", Font.ITALIC, 20); ``` 字体风格有三种基本选项: - `Font.PLAIN`:表示常规字体,没有额外样式。 - `Font.BOLD`:表示加粗字体。 - `Font.ITALIC`:表示倾斜字体。 如果你需要获取系统中已安装的所有字体名称,可以使用`GraphicsEnvironment`类的静态方法`getLocalGraphicsEnvironment().getAvailableFontFamilyNames()`。这将返回一个包含所有可用字体名称的字符串数组。例如,下面的代码片段可以用来显示系统中的所有字体: ```java String[] fontFamilies = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); for (String family : fontFamilies) { System.out.println(family); } ``` 这段代码可以在名为`ListFonts.java`的程序中找到,它会列出系统中所有可用的字体家族。 Java的图形界面工具经历了从早期的AWT(Abstract Window Toolkit)到Swing的演进。AWT是Java的第一个GUI库,它的目标是跨平台兼容,但它在表现力和性能方面存在局限。而Swing,自Java 1.2开始引入,提供了更轻量级、易于编程且功能强大的组件。尽管Swing在现代Java GUI开发中占据了主导地位,但它仍然依赖AWT的一些基础结构,特别是事件处理模型。 Swing与AWT相比,拥有更多的组件,如`JFrame`、`JButton`等,它们以"J"开头,表明它们是Swing版本的组件。`JFrame`是Swing中的顶级窗口类,可以作为容器添加其他组件,构建复杂的应用界面。例如,创建一个简单的只包含空框架的Java程序可以这样编写: ```java import javax.swing.JFrame; public class FirstFrame { public static void main(String[] args) { JFrame frame = new JFrame("My First Frame"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } ``` 这段代码将展示一个400x300像素大小,标题为"My First Frame"的空框架。 Java的GUI开发提供了丰富的工具和类库,允许开发者创建美观且功能丰富的图形用户界面,同时通过`Font`类对文本的呈现进行细致的控制。无论是在AWT还是Swing中,理解和掌握这些基础知识对于开发出高效且用户体验良好的应用程序至关重要。