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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2024智算中心基础设施演进白皮书.pdf
- 2024中国企业数字化转型案例研究报告.pdf
- hello的一生-2024哈工大计算机系统大作业
- GBT 18488-2024 电动汽车用驱动电机系统.pdf
- 基于逻辑回归(logistic)的多输入单输出预测模型,可以多个自变量输入,单个因变量输出,可以出真实值和预测值对比拟合图以及线性拟合预测图,预测误差图,同时可以打印多个评价指标,不会替数据的可以指导
- 基于Spring Boot + Vue3实现的在线汽车保养维修预约管理系统(包含源码+接口文档+数据库设计文档)
- 工商银行大数据平台助力全行数字化转型之路.pdf
- gatway-es8.yml
- 工业数字孪生建模与应用-579页.pdf
- 华为数据中台助力银行数字化转型.pdf
- 基于华为IPD与质量管理体系融合的研发质量管理(2024版).pdf
- ANPC(有源中点钳位NPC)-VSG(非线性负载),基于A型有源三电平逆变器的非线性负载下同步发电机控制,中点电位平衡控制,电压电流双闭环控制,基波提取算法 1.VSG,非线性负载 2.电压电流双
- 数据治理与大数据平台解决方案.pdf
- 数据中台标准技术体系方案 .pdf
- 腾讯云原生数据湖存储的架构发展和数据治理.pdf
- 云原生安全能力指南(2024).pdf