废话没有,看代码。

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

  1. package com.sword.swing_test;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.WindowAdapter;
  6. import java.awt.event.WindowEvent;
  7.  
  8. public class DrawIcon implements Icon {
  9. //在Swing中通过Icon接口创建图标,Icon中有三个方法必须实现
  10. //public int getIconWidth()、public int getIconHeight()、
  11. // public void paintIcon(Component arg0,Graphics arg1,int arg2,int arg4)
  12. private int width;
  13. private int height;
  14. public int getIconWidth(){
  15. return this.width;
  16. }
  17. public int getIconHeight(){
  18. return this.height;
  19. }
  20. public DrawIcon(int width,int height){
  21. this.width=width;
  22. this.height=height;
  23. }
  24. //实现paintIcon方法
  25. public void paintIcon(Component arg0,Graphics arg1,int x,int y){
  26. //绘制一个圆形
  27. arg1.fillOval(x,y,width,height);
  28. }
  29. public static void main(String[] arg){
  30. JFrame jf=new JFrame("IconTest");
  31. Container container=jf.getContentPane();
  32. DrawIcon icon=new DrawIcon(15,15);
  33. //JLabel(标签)中其中之一构造方法为public(String text,Icon icon,int aligment)
  34. //第三个参数为控制text即标签文本的对齐方式,用SwingConstants的静态常量
  35. JLabel jl=new JLabel("Sword",icon,SwingConstants.CENTER);
  36. container.add(jl);
  37. /*这里为什么使用Container的setBackground而不是JFrame的setBackground?
  38. 我们先理论的说一下:在Swing编程体系中Swing容器分为三种,其中顶层容器又分为
  39. 四层;自上而下分别为glass pane(玻璃面板)、
  40. content pane(内容面板)和menu bar(菜单条)、
  41. layered pane(分层面板)、root pane(根面板)
  42. frame的设置属性在这些面板之下表现,我们看到的也是从上往下的结果。
  43. 通俗说就是Container默认背景颜色设置颜色为white,位于JFrame层的上面,JFrame设置的背景
  44. 颜色会被Container的背景颜色遮蔽起来。
  45. */
  46. //jf.setBackground();
  47. container.setBackground(Color.GREEN);
  48. //设置窗口关闭触发事件的一种方式
  49. jf.addWindowListener(new WindowAdapter(){
  50. @Override
  51. public void windowClosing(WindowEvent e){
  52. System.exit(0);
  53. }
  54. });
  55. //jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);j
  56. jf.setSize(500,500);
  57. jf.setVisible(true);
  58. }
  59. }

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. 第二章 python变量及文件

    1.环境变量 1.配置环境变量不是必须的2.配置环境变量的目的:为终端提供执行环境 2.Python代码执行 1.交互式       -- 控制台直接编写运行Python代码       -- 1.打 ...

  2. Vnpy官网汇总

    Vnpy首页:http://www.vnpy.cn/ Vnpy社区:https://www.vnpy.com/ Vnpy论坛:http://www.vnpie.com/forum.php Github ...

  3. java中JScrollPane不显示水平滚动条的解决办法

    在JPanel中添加了表格,表格中对东西太多,需要水平滚动条滑动才能够完全找到所有数据,如果没有水平滚动条的话,数据堆积在一起,无法分开 做法是: 第一步:先将表格自动调整的状态给关闭掉:table. ...

  4. 微信小程序笔记

    1.文件的作用 js,wxml,wxss,json 所有页面中要用到的变量,都放在可了pages目录下 wxml:类似于html文件 wxss:类似于css文件(类, id, 标签,子代,后代,bef ...

  5. checkbox属性获取

    checked属性获取不能用attr,要用prop

  6. 华为S5700配置端口镜像和华三S5120配置802.1X认证记录

    一.说明 事情的起因是我们部门有个华为的S5700交换机,想配置端口镜像抓包但让助理买的串口线很久都还没到:而昨天测试部的同事说他们那有台华三的S5120想要配802.1X认证,但只有华为交换机的文档 ...

  7. CSS3特性

    2018-08-20 CSS3:用于控制网页的样式和布局 1.transform:rotate(30deg);      CSS3 模块 选择器 盒模型 背景和边框 文字特效 2D/3D转换 动画 多 ...

  8. PCA算法数学原理及实现

    数学原理参考:https://blog.csdn.net/aiaiai010101/article/details/72744713 实现过程参考:https://www.cnblogs.com/ec ...

  9. A、B两个线程交替打印1 -- 100

    方案一:import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.u ...

  10. Qt 按名称查找子节点

    TreeItem* TreeModel::GetItem(QStringList& list, TreeItem* parent ,int deep) { ).toString()) { if ...