Component类是所有组件(UI组件和容器)的父类,因此Component类的特征被其所有子类继承。所有组件外形都是矩形框。屏幕有个坐标系,组件以屏幕坐标来确定组件在屏幕上显示的位置。在默认情况下,组件在屏幕上显示时,组件的左上角的坐标值是(0,0)。当组件是容器时,容器也有自已的坐标系。当把组件加入容器时,被加入容器的组件在容器中的位置由组件的左上角坐标(x,y)确定。这里的(x,y)是组件的左上角在容器坐标系中的值。 ### Java课件-用户界面组件知识点详解 #### 第10章 用户界面组件 在Java图形用户界面(GUI)设计中,界面元素主要由各种组件构成。本章节将深入讲解组件的基本概念及其使用方法。 #### 10.1 组件(Component)类 ##### 10.1.1 组件的基本介绍 `Component`类是所有用户界面(UI)组件和容器的基础类,它定义了组件的一些基本特征。所有的组件都被视为矩形框,并且可以通过屏幕坐标系来确定它们在屏幕上的位置。默认情况下,每个组件的左上角坐标为`(0, 0)`。当一个组件作为容器使用时,它同样拥有自己的坐标系,此时容器内的其他组件的位置是由这些组件左上角的坐标`(x, y)`决定的,这里的坐标是在容器坐标系下的值。 ##### 10.1.2 组件的属性 表10-1展示了组件的一些重要属性: | 属性 | 说明 | |------------|--------------------------------------| | `font` | 组件中显示文字所用的字体 | | `background` | 组件的背景色 | | `foreground` | 组件的前景色 | | `height` | 组件的当前高度 | | `width` | 组件的当前宽度 | | `preferredSize` | 组件在视觉上的理想尺寸 | | `minimumSize` | 指定组件可用的最小尺度 | | `maximumSize` | 指定组件需要的最大尺寸 | | `toolTipText` | 鼠标指向组件时显示的文字 | | `doubleBuffered` | 绘制组件是否采用双缓冲技术 | | `locale` | 组件的地区特性 | | `border` | 指定组件的边框 | 这些属性可以通过特定的方法进行访问或修改,从而实现对组件外观和行为的控制。 ##### 10.1.3 组件的方法 组件类提供了多种方法来操作组件的属性和行为。下面是一些常用的方法: - **颜色的设置和获取** - `public void setBackground(Color color)`:设置组件的背景色。 - `public Color getBackground()`:获取组件的背景色。 - `public void setForeground(Color color)`:设置组件的前景色。 - `public Color getForeground()`:获取组件的前景色。 - **字体的设置和获取** - `public void setFont(Font font)`:设置组件上的字体。 - `public Font getFont()`:获取组件上的字体。 **注意**:在设置字体时,需要确保所使用的字体名称在运行系统的字体库中存在。如果没有找到指定的字体名称,系统会使用默认字体。 #### 10.2 示例:改变字体和颜色 以下是一个简单的示例程序,演示如何通过点击按钮来改变标签的字体和颜色: ```java import java.awt.*; import javax.swing.*; import java.awt.event.*; public class ChangeFont extends JFrame { private JButton but1 = new JButton("button1"); private JButton but2 = new JButton("button2"); private JLabel lab = new JLabel("字体显示区域"); // 实例化两种字体格式 private Font font1 = new Font("Serif", Font.ITALIC, 50); private Font font2 = new Font("宋体", Font.BOLD, 20); public ChangeFont() { Container container = this.getContentPane(); // 添加按钮和标签到容器 container.add(but1); container.add(but2); container.add(lab); // 监听按钮事件 but1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { lab.setForeground(Color.RED); // 设置标签的前景色为红色 lab.setFont(font1); // 设置标签的字体为font1 } }); but2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { lab.setForeground(Color.BLUE); // 设置标签的前景色为蓝色 lab.setFont(font2); // 设置标签的字体为font2 } }); // 设置窗体属性 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(400, 300); this.setVisible(true); } public static void main(String[] args) { new ChangeFont(); } } ``` ### 小结 本章节详细介绍了Java GUI编程中`Component`类的相关知识点,包括组件的基本属性、方法以及如何通过示例代码改变组件的颜色和字体。掌握这些基础知识对于开发丰富的Java图形用户界面至关重要。
剩余49页未读,继续阅读
- 粉丝: 1
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 可直接运行 MATLAB数学建模学习资料 模拟算法MATLAB代码实现.rar
- 基于 Java+SQLServer 实现的医药售卖系统课程设计
- HCNP(HCDP)华为认证资深网络工程师-路由交换方向培训 -IESN中文理论书-内文.pdf
- 新版FPGA课程大纲,芯片硬件开发用的大纲
- ROS2下OpenCV识别物体区域和视频捕捉的样例
- STM32-EMBPI.PDF
- Font Awesome图标字体库提供可缩放矢量图标,它可以被定制大小、颜色、阴影以及任何可以用CSS的样式
- Bluefield 2固件镜像版本,fw-MBF2M345A-VENOT-ES-Ax-24.40.1000.bin
- 雪颜奇迹幻白双重莹白焕采霜50ML-1016-FA.rar
- Qt的QDOCK高级用法源码,包含linux和windows版本,从开源库下载