第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)是设计者一种流行的 思考设计问题的方法,是一套被反复使用,多数人 ...
随机推荐
- 全排列dfs算法
如下 #include <iostream> using namespace std; #define MAX 10 #define _CRT_SECURE_NO_WARNINGS int ...
- 测试sql性能方法
SET STATISTICS io ON SET STATISTICS time ON go ---你要测试的sql语句 selec ...
- 自定义silverlight中datagrid的排序事件
<sdk:DataGrid AutoGenerateColumns="False" CanUserSortColumns="False" CanUserR ...
- 慎用#define
#define INT_MAX 2147483647 INT_MAX+1 就会变成负数 long long r; r > INT_MAX+1 就会出错,应该写成 r > 21474 ...
- HDU - 5455 Fang Fang
Problem Description Fang Fang says she wants to be remembered.I promise her. We define the sequence ...
- 复习之webview(观看张荣超视频)
webview定义的两张方式: 1,是在xml文件里面进行定义: 2,实在代码里面定义: 3,在webview上显示内容必要的配置: 4常见的设置: 是否支持javascript 是否支持缩放 ...
- 答辩系统bug修改记录
1.验证码不显示 参考Could not initialize class sun.awt.X11GraphicsEnvironment解决 在catalina.sh里加上一句 “CATALINA_O ...
- leetcode342合理运用位操作判断4的幂
Given an integer (signed 32 bits), write a function to check whether it is a power of 4. Example: Gi ...
- div+css位置绝对定位和相对定位
position:absolute: 当div中被隔着些元素的话那么用此方法将把元素重叠在一起,所以元素可以不在容器中加也能重叠在一起
- OPENWRT make defconfig错误之一
make defconfig rm: cannot remove `tmp/.host.mk': Permission denied 退到trunk上级目录 su root sudo chown -R ...