第13章 Swing程序设计----标签组件与图标
在Swing中显示文本或提示信息的方法是使用标签。本节将探讨Swing标签的用法、如何创建标签,以及如何在标签上放置文本和图标。
1、标签的使用
标签可以显示一行只读文本、一个图像或带图像的文本,它并不能产生任何类型的事件,只是简单地显示文本和图片,但是可以使用标签的特性制定标签上文本的对齐方式。
标签由JLabel类定义,JLabel类提供了多种构造方法,可以创造多种标签:
public JLabel():创建一个不带图标和文本的JLabel对象;
public JLabel(Icon icon):创建一个带图标的JLabel对象 ;
public JLabel(Icon icon,int aligment):创建一个带图标的JLabel对象,并设置图标水平对齐方式;
public JLabel(String text,int aligment):创建一个带文本的JLabel对象,并设置文字水平对齐方式;
public JLabel(String text,Icon icon,int aligment):创建一个带文本、带图标的JLabel对象,并设置标签内部的水平对其格式。
2、图标的使用
在Swing中通过Icon接口来创建图标,可以在创建时给定图标的大小,颜色等特性。如果使用Icon接口,必须实现Icon接口中的3个方法:
- public int getIconHeight();
- public int getIconWidth();
- public void paintIcon(Component arg(),Graphics arg1,int arg2,int arg3);//paintIcon()方法实现在指定坐标位置画图
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Graphics;
- import javax.swing.Icon;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.SwingConstants;
- import javax.swing.WindowConstants;
- public class DrawIcon implements Icon { //实现Icon接口
- private int width; //声明图标的宽
- private int height;//声明图标的长
- public int getIconHeight(){ //实现getIconHeight()方法
- return this.height;
- }
- public int getIconWidth(){ //实现getIconWidth()方法啊
- return this.width;
- }
- public DrawIcon(int width,int height){//定义构造方法
- this.width=width;
- this.height=height;
- }
- //试下安paintIcon()方法
- public void paintIcon(Component arg0, Graphics arg1,int x, int y){
- arg1.fillOval(x, y, width, height);
- }
- public static void main(String[] args){
- DrawIcon icon=new DrawIcon(15,15);
- JLabel j=new JLabel("测试",icon,SwingConstants.CENTER); //创建一个标签,并设置标签上的文字在标签正中间
- JFrame jf=new JFrame();//创建一个JFrame窗口
- Container c=jf.getContentPane();
- c.add(j);
- jf.setSize(100,100);
- jf.setVisible(true);
- jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
- }
- }
思路:一般情况下将图标放置在按钮或标签上,这里将图标放置在标签上,然后将标签添加到容器中,这样就实现了在窗体中使用图标的功能。
3、图标也可以是图标
第13章 Swing程序设计----标签组件与图标的更多相关文章
- 第13章 Swing程序设计
1.Swing概述 GUI(图形用户界面)为程序提供图形界面,最初的设计目的是为程序员构建一个通用的GUI,使其能够在所有平台上运行.但Java 1.0中基础类AWT(抽象窗口工具箱)并没有达到这个要 ...
- 第13章 Swing程序设计----JDialog窗体
JDialog窗体是Swing组件中的对话框 JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样. 在应用程序中创建JDialog窗体需要实例化JDia ...
- 第13章 Swing程序设计----JFrame窗体
JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器. 在开发应用程序时可以通过继承java.swing.JFrame类创建一个窗体,在 ...
- 第13章 Swing程序设计----常用事件监听器
组件本身并不带有任何功能.这时需要为这些组件添加特定事件监听器. Swing中常用的两个事件监听器,即动作事件监听器和焦点事件监听器.
- 第13章 Swing程序设计----常用面板
面板也是一个Swing容器,它可以作为容器容纳其他组件,但它也必须被添加到其他容器中. Swing常用的面板包括JPanel面板和JScrollPanel面板. 1.JPanel面板 import j ...
- 第13章 Swing程序组件----常用布局管理器
在Swing中,每个组件在容器中都有一个具体的位置和大小,而在容器中摆放各种组件时很难判断其具体位置和大小.布局管理器提供了Swing组件安排.展示在容器中的方法及基本的布局功能. Swing提供的常 ...
- JAVA学习Swing章节标签JLabel中图标的使用
package com.swing; import java.awt.Color; import java.awt.Component; import java.awt.Container; impo ...
- Java核心技术卷一基础知识-第9章-Swing用户界面组件-读书笔记
第9章 Swing用户界面组件 本章内容: * Swing与模型-视图-控制器设计模式 * 布局管理概述 * 文本输入 * 选择组件 * 菜单 * 复杂的布局管理 * 对话框 本章将介绍构造功能更加齐 ...
- 实验十四 第九组 张燕~杨蓉庆~杨玲 Swing图形界面组件
实验十四 Swing图形界面组件 8-11-29 理论知识 Swing和MVC设计模式 (1)设计模式(Design pattern)是设计者一种流行的 思考设计问题的方法,是一套被反复使用,多数人 ...
随机推荐
- NSData与UIImage互相转换
1.//NSData转换为UIImage NSData *imageData = [NSData dataWithContentsOfFile: imagePath]; UIImage *image ...
- 软件测试之α测试和Beta测试
实施验收测试的常用策略有三种,它们分别是: · 正式验收 · 非正式验收或Alpha 测试 · Beta 测试 因此,Alpha测试和Beta测试都属于验收测试.所谓验收测试是软件产品完成了功能测试和 ...
- 多工段查询存放到DataTable到List<DataTable>集合在C#里面做汇总
private void btnQuery_Click(object sender, EventArgs e) { if (cboxFactory.Text=="") { Mess ...
- over 分析函数之 lag() lead()
/*语法*/ lag(exp_str,offset,defval) over() 取前 Lead(exp_str,offset,defval) over() 取后 --exp_str要取的列 -- ...
- H5页面适配所有iPhone和安卓机型的六个技巧
http://www.th7.cn/web/html-css/201605/166006.shtml http://www.th7.cn/web/html-css/201601/153127.shtm ...
- 初次使用IntelliJ IDEA 2016.2
换电脑的还有一个目的就是我准备采用新的IDE了 之前一直用的是myeclipse,但是现在准备尝试idea 这边做个记录,idea的破解参考下面这个网址:http://blog.csdn.net/u0 ...
- tomcat 高并发配置 与优化
公司的一个服务器使用Tomcat6默认配置,在后台一阵全点击服务器就报废了,查了一下就要是PERMSIZE默认值过小造成(16-64) TOMCAT_HOME/bin/catalina.sh 添加一行 ...
- dns是什么
域名解析服务器,靠它把你要访问的网址找到然后把信息送到你电脑上.DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主 ...
- AJAX 在手机上用时
Response.ContentType = "text/html; text/plain; charset=UTF-8";
- centos7与centos6区别
CentOS 7 vs CentOS 6的不同 (1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell)(2)文件系统[CentOS6] ...