`
mywebcode
  • 浏览: 1065616 次
文章分类
社区版块
存档分类
最新评论

11级_Java_曹建波5.07 字体和颜色的设置&常用AWT组件的使用

 
阅读更多

字体和颜色的设置

Color类

公共静态属性:共13个静态属性,分别代表13种不同的颜色常量。

构造函数

public Color(int r,int g,int b):以整数形式给出红、绿、蓝三个分量的值,每个分量的范围:0~255

public Color(float r,float g,float b):r、g、b均为单精度浮点数。取值范围为0.0f~1.0f

public Color(int rgb):rgb的16~23位:红色分量;0~7位:蓝色分量,8~15位:绿色分量。

常用方法

public int getRed():返回颜色对象的红色分量值

public int getGreen():返回颜色对象的绿色分量值

public int getBlue():返回颜色对象的蓝色分量值

设置颜色
设置组件的背景色和前景色:
public void setBackground(Color c):设置背景颜色
public void setForeground(Color c):设置前景颜色

字体类Font
java.awt包中提供了一个Font类用于构造字体对象,其中还提供了和字体相关的一些列的属性和方法。

公共静态属性
BOLD(粗体)、ITALIC(斜体)、PLAIN(普通)

构造函数
public Font(String name,int style,int size);
name:指定字体名称; style:制定字体的外观;size:指定字体大小。单位为点(一个点=1/72英寸)

例:Fontfont1=new Font(“宋体”,Font.BOLD,50);

Font类中常用的方法
public String toString()--返回字体的描述性字符串。
public int getStyle()--返回当前字体风格的整数值
public int getSize()--返回当前字体大小的整数值
public int String getName()--返回当前字体的名称
public String getFamily()--返回当前字体家族名称
public boolean isPlain()--当前字体是否是普通的风格
public boolean isBold()--当前字体是否是加粗的风格
public boolean isItalic()--当前字体是否是倾斜风格

java.awt.Font类用于在GUI 开发中设置组件的上显示文字的字体,相应的方法在java.awt.Component 类中定义,具体格式为:
public void setFont(Font font)----设置字体
public Font getFont()----返回当前字体对象

示例1:设置组件颜色和字体效果。

Label lbl1=new Label("中国北京");

lbl1.setForeground(new Color(118,99,78));

lbl1.setBackground(Color.pink);

lbl1.setFont(new Font("宋体",Font.BOLD,30));

常用AWT组件的使用

标签和按钮

标签Label:用于显示一行文本提示信息。它不能响应鼠标事件。

构造方法
publicc Label();
public Label(String str);
public Label(String str,int alignment)

参数alignment的取值有三种,用于指定标签中文本的对齐方式:

Label.LEFT,文本居标签组件左对齐

Label.CENTER,文本居中对齐

Label.RIGHT,文本居标签组件右对齐

其它常用方法
public String getText();
public void setText(String str);
public void setAlignment(in alignment)
public void setBackground(Color c);
public void setForeground(Color c);

按钮Button:用于接收用户的点击操作并触发相应的处理逻辑。

构造方法
public Button();
public Button(Stirng label);

触发的事件:当用户用鼠标点击按钮时触发ActionEvent事件,注册事件监听的方法:
public void addActionListener(ActionListener l)

文本组件
所谓文本组件是指能够显示和编辑文本信息的组件。

文本框TextField:用于接收/编辑单行文本信息

构造方法
public TextField();
public TextField(int columns);
public TextField(String str);
public TextField(String str,int columns);

常用方法
public String getText();
public void setText(String str)
public String getSelectedText();
public void setEchoChar(char c);
public void setEditable(Boolean b);

触发事件
在TextField组件中按下回车键时,可以触发ActionEvent事件,因此在TextField组件上可注册ActionListener监听器,以关联所需的处理逻辑。

示例1:用户登录界面。

文本框和按钮都注册了ActionEvent的事件处理

文本区TextArea:用来显示和编辑多行、多列文本信息,当显示文本超出了文本区的大小自动出现水平和垂直滚动条

构造方法
public TextArea();
public TextArea(int rows,int columns);
public TextArea(String str,int rows,int columns);
public TextArea(String str,int rows,int columns,int scrollbar);

TextArea.SCROLLBARS_BOTH
TextArea.SCROLLBARS_HORIZONTAL_ONLY
TextArea.SCROLLBARS_NONE

TextArea.SCROLLBARS_VERTICAL_ONLY

常用方法
public String getText();
public void setText(String str);
public void append(String str);
public int getCaretPosition();
public void insert(String str,int pos);
public String getSelectedText();
public int getSelectionStart();
public int getSelectionEnd();
public void replaceRange(String str,int start,int end);

触发事件:TextEvent事件 、MouseEvent事件

选择组件
选择组件是指专门用于从多个条目中进行单选或多选操作的AWT组件。

复选框和单选按钮
复选框提供两种状态:选中|未选中。java.awt 包中的Checkbox类用于建立复选框。

构造方法
public Checkbox();
public Checkbox(String str);
public Checkbox(String str,Boolean b);
public Checkbox(String str,Boolean b,CheckboxGroup g);

其他方法
public Boolean getState();
public setState(boolean b);
public getLabel();
public setLabel(String s);

触发事件
选择或取消选择一个复选框会触发选项事件ItemEvent,对应的监听接口ItemListener,事件处理方法为:
public void itemStateChanged(ItemEvent e);

注册监听/删除监听的方法
public void addItemListener(ItemListener);
public void removeItemListener(ItemListener);

下拉列表框Choice
用户可以在下拉列表框中看到第一个选项和它旁边的箭头按钮,当用户单击箭头按钮时,选项列表打开。

构造方法
public Choice();

其他方法
public void add(String name);
public void insert(String name ,int index);
public void remove(String name);
public void remove(int index);
public void removeAll();

其他方法
public void select(String name);
public void select(int index);
public int getItemCount();
public int getSelectedIndex();
public String getSelectedItem();

触发事件
当用户在下拉列表框中选中某个列表项时就触发ItemEvent选项事件,监听接口:ItemListener。注册和删除监听的方法:
public void addItemListener(ItemListener l);
public void removeItemListener(ItemListener l);

列表框List
包含如干列表项,用户可以选择列表框中的一项或多项。当列表框中的列表项数超过了列表框的高度,则列表框自动增加垂直滚动条,用户可以通过滚动的方式选择列表项。

构造方法
public List();
public List(int n);
public List(int n,boolean b);

常用方法

其他方法
public int getSelectedIndex();
public String getSelectedItem();
public int[] getSelectedIndexes();
public String[] getSelectedItems();

触发事件

当用鼠标单击列表框的某个列表项后,触发ItemEvent事件;

当用鼠标双击某个列表项后,触发ActionEvent事件。

分享到:
评论

相关推荐

    手撕源码C++哈希表实现:从底层原理到性能优化,看完面试官都怕你!(文末附源码)

    哈希表源码

    sun_3ck_03_0119.pdf

    sun_3ck_03_0119

    MATLAB实现基于LSTM-AdaBoost长短期记忆网络结合AdaBoost时间序列预测(含模型描述及示例代码)

    内容概要:本文档详细介绍了基于 MATLAB 实现的 LSTM-AdaBoost 时间序列预测模型,涵盖项目背景、目标、挑战、特点、应用领域以及模型架构和代码示例。随着大数据和AI的发展,时间序列预测变得至关重要。传统方法如 ARIMA 在复杂非线性序列中表现欠佳,因此引入了 LSTM 来捕捉长期依赖性。但 LSTM 存在易陷局部最优、对噪声鲁棒性差的问题,故加入 AdaBoost 提高模型准确性和鲁棒性。两者结合能更好应对非线性和长期依赖的数据,提供更稳定的预测。项目还展示了如何在 MATLAB 中具体实现模型的各个环节。 适用人群:对时间序列预测感兴趣的开发者、研究人员及学生,特别是有一定 MATLAB 编程经验和熟悉深度学习或机器学习基础知识的人群。 使用场景及目标:①适用于金融市场价格预测、气象预报、工业生产故障检测等多种需要时间序列分析的场合;②帮助使用者理解并掌握将LSTM与AdaBoost结合的实现细节及其在提高预测精度和抗噪方面的优势。 其他说明:尽管该模型有诸多优点,但仍存在训练时间长、计算成本高等挑战。文中提及通过优化数据预处理、调整超参数等方式改进性能。同时给出了完整的MATLAB代码实现,便于学习与复现。

    免费1996-2019年各地级市平均工资数据

    1996-2019年各地级市平均工资数据 1、时间:1996-2019年 2、来源:城市nj、各地级市统计j 3、指标:平均工资(在岗职工) 4、范围:295个地级市

    [AB PLC例程源码][MMS_040384]Winder Application.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    C2Former: 解决RGB-红外物体检测中模态校准与融合不精确问题的标定互补变压器

    内容概要:本文介绍了一种新颖的变压器模型C2Former(Calibrated and Complementary Transformer),专门用于解决RGB图像和红外图像之间的物体检测难题。传统方法在进行多模态融合时面临两个主要问题——模态错位(Modality miscalibration)和融合不准确(fusion imprecision)。作者针对这两个问题提出采用互模交叉注意力模块(Inter-modality Cross-Attention, ICA)以及自适应特征采样模块(Adaptive Feature Sampling, AFS)来改善。具体来说,ICA可以获取对齐并且互补的特性,在特征层面进行更好的整合;而AFS则减少了计算成本。通过实验验证了基于C2Former的一阶段和二阶段检测器均能在现有公开数据集上达到最先进的表现。 适合人群:计算机视觉领域的研究人员和技术人员,特别是从事跨模态目标检测的研究人员,对Transformer架构有一定了解的开发者。 使用场景及目标:适用于需要将可见光和热成像传感器相结合的应用场合,例如全天候的视频监控系统、无人驾驶汽车、无人

    上海人工智能实验室:金融大模型应用评测报告-摘要版2024.pdf

    上海人工智能实验室:金融大模型应用评测报告-摘要版2024.pdf

    malpass_02_0907.pdf

    malpass_02_0907

    C++-自制学习辅助工具

    C++-自制学习辅助工具

    微信生态系统开发指南:涵盖机器人、小程序及公众号的技术资源整合

    内容概要:本文提供了有关微信生态系统的综合开发指导,具体涵盖了微信机器人的Java与Python开发、全套及特定应用的小程序源码(PHP后台、DeepSeek集成),以及微信公众号的基础开发与智能集成方法。文中不仅给出了各种应用的具体案例和技术要点如图灵API对接、DeepSeek大模型接入等的简述,还指出了相关资源链接以便深度探究或直接获取源码进行开发。 适合人群:有意开发微信应用程序或提升相应技能的技术爱好者和专业人士。不论是初涉者寻求基本理解和操作流程,还是进阶者期望利用提供的资源进行项目构建或是研究。 使用场景及目标:开发者能够根据自身兴趣选择不同方向深入学习微信平台的应用创建,如社交自动化(机器人)、移动互联网服务交付(小程序),或者公众信息服务(公众号)。特别是想要尝试引入AI能力到应用中的人士,文中介绍的内容非常有价值。 其他说明:文中提及的多个项目都涉及到了最新技术栈(如DeepSeek大模型),并且为不同层次的学习者提供从零开始的详细资料。对于那些想要迅速获得成果同时深入了解背后原理的人来说是个很好的起点。

    pimpinella_3cd_01_0916.pdf

    pimpinella_3cd_01_0916

    mellitz_3cd_01_0516.pdf

    mellitz_3cd_01_0516

    schube_3cd_01_0118.pdf

    schube_3cd_01_0118

    [AB PLC例程源码][MMS_046683]ME Faceplates for 1738 Digital and Analog I-O with Descriptions.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_040371]Communication between CompactLogix Controllers on DeviceNet.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_046507]SE Faceplates for 1797 Digital and Analog I-O.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    智慧用电平台建设解决方案【28页】.pptx

    智慧用电平台建设解决方案【28页】

    lusted_3ck_01_0519.pdf

    lusted_3ck_01_0519

    HCIP作业1 这里面是完成的ensp的拓扑图

    HCIP作业1 这里面是完成的ensp的拓扑图

    会员式点餐小程序v1.2.1+前端-无错源码.zip

    会员式点餐小程序1.2.1 前端 会员卡点餐小程序 适用于书吧、咖啡书屋、健身房等有会员卡充值需求的场所。 小程序专属会员模式,可享受折扣为余额充值,稳定客流。 版本号:1.2.1 适配一个php兼容性错误 修改消息通知模板

Global site tag (gtag.js) - Google Analytics