JAVA学习Swing章节标签JLabel中图标的使用

package com.swing;

import java.awt.Color;
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;

/**
 * 1:在Swing中显示文本或提示信息的方法是使用标签,它支持文本字符串和图标
 * 重点是标签含有文本字符串和图标
 *
 * 2:标签可以显示一行只读文本,一个图像或带图像的文本,它并不能产生任何类型的事件
 * 只是简单的显示文本和图片,但是可以使用标签的特性指定标签上文本的对齐方式
 * 重点是只是简单的显示文本和图片
 *
 * 3:JLabel标签的构造方法,带图标,并且设置图标水平对齐方式,带文字,并设置文字的水平对齐方式
 * 带图标带文字,并且设定标签内容的水平对其方式
 *
 * 4:Swing上面的图标可以放置在按钮,标签,等组件上面,用于描述组件的用途
 *
 * 5:Swing中通过Icon接口来实现创建图表,可以在创建时给定图标的大小,颜色等特性
 * 如果使用Icon接口,必须实现Icon的三个接口
 * @author biexiansheng
 *
 */
public class DrawIcon implements Icon{//实现Icon的接口,必须实现Icon的三个方法

    private int width;//声明图标的宽
    private int height;//声明图标的长
    //定义构造方法
    public DrawIcon(int width,int height){
        this.width=width;
        this.height=height;
    }
    @Override
    public void paintIcon(Component c, Graphics g, int x, int y) {
        // TODO Auto-generated method stub
        g.fillOval(x,y,width,height);
        //此处的学习难点在Graphics那一章节。
    }

    @Override
    public int getIconWidth() {//实现getIconWidth()方法
        // TODO Auto-generated method stub
        return this.width;
    }

    @Override
    public int getIconHeight() {//实现getIconHeight()方法
        // TODO Auto-generated method stub
        return this.height;
    }

    public static void main(String[] args) {
        DrawIcon icon=new DrawIcon(150,150);//初始化并且向构造方法传值
        //创建一个标签,并设置标签上的文字在标签正中间
        JLabel jl=new JLabel("测试",icon,SwingConstants.CENTER);

        JFrame jf=new JFrame();//创建一个JFrame窗口
        Container container=jf.getContentPane();//将窗口转换为容器
        container.setBackground(Color.BLUE);

        container.add(jl);
        //设置容器的外部属性
        jf.setTitle("标签的使用,创建图标");
        jf.setVisible(true);
        jf.setSize(340,400);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

}

实例运行结果如下

时间: 2024-10-25 18:46:21

JAVA学习Swing章节标签JLabel中图标的使用的相关文章

JAVA学习Swing章节按钮组件JButton的简单学习

package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URL; import javax.swing.Icon; import javax.swing.ImageIcon;

JAVA学习Swing章节流布局管理器简单学习

package com.swing; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.WindowConstants; /** * 1:流(FlowLayout)布局管理器是布局管理器中最基本的布局管理器,流布局管理器在整个容器中 * 的布局正如其名,像流一样从左到右摆放组件,直到占据了这

【JAVA学习】struts2的action中使用session的方法

尊重版权:http://hi.baidu.com/dillisbest/item/0bdc35c0b477b853ad00efac 在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到1.通过ActionContext class中的方法getSession得到2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作 下面先看一个采用第一种方式,在action中得到sessi

java学习笔记—自定义标签1(39)

在实际的开发中,如为了简化JSP中出现大量的JSP脚本,那么我们需要使用标准标签库和EL表达式,但是和新标签库中提供的标签是有限的,不可能完全满足开发的需要.如:分页.因此需要学习如何自定义自己的标签库. 如果要实现自定义标签,那么需要如下几步: 编写标签处理类 需要继承或者实现相关的类或者接口 编写标签描述文件 该文件是一个XML文件,而且必须放在网站的WEB-INF目录中 在JSP中引入标签且使用 使用taglib指令引入标签库,随后使用. 自定标签的类体系 详细了解下一下几个类和接口: -

java学习笔记—自定义标签2(40)

案例一:实现一个基本防盗链标签 1. 标签处理类 public class MyReferer extends BodyTagSupport { private String site; private String back; public String getSite() { return site; } public void setSite(String site) { this.site = site; } public String getBack() { return back;

java学习,从一个字符串中统计同一类型出现的次数

1.从字符串“AS345asdzf*())sddsWE”中统计大写字母.小写字母.其他类型的出现的次数 String s="AS345asdzf*())sddsWE"; int l = 0,b=0,o=0; for(int i=0;i<s.length();i++){ char t= s.charAt(i);//charAt返回索引值 if(t>='a'&&t<='z'){//判断是否为小写字母 l++; }else if(t>='A'&

Java学习笔记(持续更新中...)

1.为了继承,一般的规则是:将所有数据成员都指定为private,所有的方法指定为public 2.在继承过程中,需要先声明“新类和旧类相似”,用关键字“extend”实现.这么做,会得到基类中的所有域和方法 3.在继承关系中,如果导出类和基类有相同的方法,但你想在导出类中调用从基类继承来的方法,可以用关键字“super”来表示超类,用表达式“super.functionname()”来调用基类版本的functionname();并且,如果没有默认的基类构造器,或者想用一个带参数的基类构造器,就

我为什么放弃java学习Kotlin?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 我为什么放弃java学习Kotlin? - 一个学渣走向android之路 - 博客频道 - CSDN.NET 一个学渣走向android之路 坚持做自己懒得做但是正确的事情,你就能得到别人想得到却得不到的东西. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评

Java学习笔记:内部类/匿名内部类的全面介绍

编写java程序时,一般一个类(或者接口)都是放在一个独立的java文件中,并且类名同文件名(如果类是public的,类名必须与文件名一致:非public得,无强制要求).如果想把多个java类放在一个java文件中,则只能有一个public类.如下面的两个类放在同一个文件中就会报错,无法编译通过. 可以看出,因为TestOne.java文件中已经有一个public类TestOne,这时再加了一个public类TestTwo就报错了.如果将类TestTwo前面的public修饰符去掉就没有问题了