废话没有,看代码。

主要就是通过实现Icon接口在标签添加一个圆形图标,并在框架中显示。

 package com.sword.swing_test;

 import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; public class DrawIcon implements Icon {
//在Swing中通过Icon接口创建图标,Icon中有三个方法必须实现
//public int getIconWidth()、public int getIconHeight()、
// public void paintIcon(Component arg0,Graphics arg1,int arg2,int arg4)
private int width;
private int height;
public int getIconWidth(){
return this.width;
}
public int getIconHeight(){
return this.height;
}
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[] arg){
JFrame jf=new JFrame("IconTest");
Container container=jf.getContentPane();
DrawIcon icon=new DrawIcon(15,15);
//JLabel(标签)中其中之一构造方法为public(String text,Icon icon,int aligment)
//第三个参数为控制text即标签文本的对齐方式,用SwingConstants的静态常量
JLabel jl=new JLabel("Sword",icon,SwingConstants.CENTER);
container.add(jl);
/*这里为什么使用Container的setBackground而不是JFrame的setBackground?
我们先理论的说一下:在Swing编程体系中Swing容器分为三种,其中顶层容器又分为
四层;自上而下分别为glass pane(玻璃面板)、
content pane(内容面板)和menu bar(菜单条)、
layered pane(分层面板)、root pane(根面板)
frame的设置属性在这些面板之下表现,我们看到的也是从上往下的结果。
通俗说就是Container默认背景颜色设置颜色为white,位于JFrame层的上面,JFrame设置的背景
颜色会被Container的背景颜色遮蔽起来。
*/
//jf.setBackground();
container.setBackground(Color.GREEN);
//设置窗口关闭触发事件的一种方式
jf.addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
//jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);j
jf.setSize(500,500);
jf.setVisible(true);
}
}

Swing学习2——图标添加Icon接口使用的更多相关文章

  1. AI学习吧-购物车-添加商品接口

    create接口流程 需求:向购物车添加商品 流程:写shopping_cart路由--->写ShoppingCart视图函数--->使用Authuser校验用户是否登录--->首先 ...

  2. Jetpack Compose学习(3)——图标(Icon) 按钮(Button) 输入框(TextField) 的使用

    原文地址: Jetpack Compose学习(3)--图标(Icon) 按钮(Button) 输入框(TextField) 的使用 | Stars-One的杂货小窝 本篇分别对常用的组件:图标(Ic ...

  3. QT5版本添加icon图标步骤

    QT5版本添加icon图标方法收藏 方法1: step1: 把要显示的图标文件,比如为1.ico文件放到工程v的根目录下 step2: 修改当前项目XXX.pro文件,在文件末尾添加如下内容(注意=的 ...

  4. 如何快速的给你的项目添加icon图标

    如何快速的给你的项目添加icon图标 下载软件 如何制作图片 将制作的图标拖到项目当中 设置启动页 注意: 如果手动添加了启动页的话,记得将Launch Screen中的东西清除掉

  5. 给网页标题添加icon小图标

    so easy: 给网页标题添加icon小图标: 直接在html文件的head部分添加下面代码(注意href的路径): <link rel="icon" type=" ...

  6. 【Flutter学习】基本组件之图标组件Icon

    一,概述 图标组件(Icon)为展示图标的组件,该组件不可交互,要实现可交互的图标,可以考虑使用IconButton组件. 图标组件相关的几个组件: IconButton:可交互的Icon: Icon ...

  7. 解决android4.0系统中菜单(Menu)添加Icon无效问题

    本文转载自: http://blog.csdn.net/stevenhu_223/article/details/9705173 在Android4.0系统中,创建菜单Menu,通过setIcon方法 ...

  8. xcode5项目图标添加

    转载文章 地址http://www.360doc.com/content/14/0103/08/14615320_342227413.shtml 最近提交itunesconnect应用时,有个警告说缺 ...

  9. JavaSE学习总结(六)——接口、抽象类、内部类

    一.不需要实例化的原因 看一个示例: package com.zhangguo.chapter5.s1; /**动物园*/ public class Zoo { public static void ...

随机推荐

  1. bs4 FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

    安装beautifulsoup后,运行测试报错 from urllib import requestfrom bs4 import BeautifulSoup url = "http://w ...

  2. APScheduler——定时任务框架

    https://www.cnblogs.com/luxiaojun/p/6567132.html

  3. 超详细的java集合讲解

    1 集合 1.1 为什么会出现集合框架 [1] 之前的数组作为容器时,不能自动拓容 [2] 数值在进行添加和删除操作时,需要开发者自己实现添加和删除. 1.2 Collection接口 1.2.1 C ...

  4. 利用scrapy-client 发布爬虫到远程服务端

    远程服务端Scrapyd先要开启 远程服务器必须装有scapyd,并开启. 这里远程服务开启的端口和ip: 192.166.12.80:6800 客户端配置和上传 先修爬虫项目文件scrapy.cfg ...

  5. SpringBoot+mybatis:报错Fri Oct 19 14:29:24 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requiremen

    报错:Fri Oct 19 14:29:24 CST 2018 WARN: Establishing SSL connection without server's identity verifica ...

  6. LCSS最长公共子序列算法

    0.论文基本介绍以及相关内容 分析移动用户位置的相似性,提取移动用户的相似路径在出行路径预测.兴趣区域发现.轨迹聚类.个性化路径推荐等领域具有广泛的应用. 重点:利用移动用户定位数据找到合适轨迹的表示 ...

  7. C# 抽象类和接口的差别

    抽象类和接口最终目的:抽象类实现多态化,接口实现功能化.比如汽车:接口就是轮子,发动机,车身等零部件,抽象类则是颜色,款式,型号等参数性东西. 抽象类(abstract): (1) 抽象方法只作声明, ...

  8. 【XAF问题】如何判断这个对象的进出类型

    一.问题 1. 如何判断这个对象的进出类型 二.思路 第一次进过的时候,存个字段在对象的字段,例如已经过了就给他true,再回来就是false,再过去就true 三.方法 在 A_rfidperson ...

  9. Java Design Pattern(Factory,Singleton,Prototype,Proxy)

    一.Factory 设计模式: the most common pattern,create a new object ,eg. A a=new A();工厂模式的好处:工厂模式可以做到把创建对象单独 ...

  10. Pandas模块

    前言: 最近公司有数据分析的任务,如果使用Python做数据分析,那么对Pandas模块的学习是必不可少的: 本篇文章基于Pandas 0.20.0版本 话不多说社会你根哥!开干! pip insta ...