Swing学习2——图标添加Icon接口使用
废话没有,看代码。
主要就是通过实现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接口使用的更多相关文章
- AI学习吧-购物车-添加商品接口
create接口流程 需求:向购物车添加商品 流程:写shopping_cart路由--->写ShoppingCart视图函数--->使用Authuser校验用户是否登录--->首先 ...
- Jetpack Compose学习(3)——图标(Icon) 按钮(Button) 输入框(TextField) 的使用
原文地址: Jetpack Compose学习(3)--图标(Icon) 按钮(Button) 输入框(TextField) 的使用 | Stars-One的杂货小窝 本篇分别对常用的组件:图标(Ic ...
- QT5版本添加icon图标步骤
QT5版本添加icon图标方法收藏 方法1: step1: 把要显示的图标文件,比如为1.ico文件放到工程v的根目录下 step2: 修改当前项目XXX.pro文件,在文件末尾添加如下内容(注意=的 ...
- 如何快速的给你的项目添加icon图标
如何快速的给你的项目添加icon图标 下载软件 如何制作图片 将制作的图标拖到项目当中 设置启动页 注意: 如果手动添加了启动页的话,记得将Launch Screen中的东西清除掉
- 给网页标题添加icon小图标
so easy: 给网页标题添加icon小图标: 直接在html文件的head部分添加下面代码(注意href的路径): <link rel="icon" type=" ...
- 【Flutter学习】基本组件之图标组件Icon
一,概述 图标组件(Icon)为展示图标的组件,该组件不可交互,要实现可交互的图标,可以考虑使用IconButton组件. 图标组件相关的几个组件: IconButton:可交互的Icon: Icon ...
- 解决android4.0系统中菜单(Menu)添加Icon无效问题
本文转载自: http://blog.csdn.net/stevenhu_223/article/details/9705173 在Android4.0系统中,创建菜单Menu,通过setIcon方法 ...
- xcode5项目图标添加
转载文章 地址http://www.360doc.com/content/14/0103/08/14615320_342227413.shtml 最近提交itunesconnect应用时,有个警告说缺 ...
- JavaSE学习总结(六)——接口、抽象类、内部类
一.不需要实例化的原因 看一个示例: package com.zhangguo.chapter5.s1; /**动物园*/ public class Zoo { public static void ...
随机推荐
- 如何在开发过程中获取客户端的ip呢?
在开发工作中,我们常常需要获取客户端的IP.一般获取客户端的IP地址的方法是:request.getRemoteAddr();但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实 ...
- (转)如何在maven的pom.xml中添加本地jar包
转载自: https://www.cnblogs.com/lixuwu/p/5855031.html 1 maven本地仓库认识 maven本地仓库中的jar目录一般分为三层:图中的1 2 3分别如下 ...
- Robot Framework--ride使用说明2
RIDE创建项目 1.创建项目 1.1File->New Project 注:选择directory原因是,在directory的项目下可以创建测试套件,如果是tpye为file,则只能创建测试 ...
- nodeJs安装Vue-cli
1,安装nodejs安装包,注意安装的路径 2,安装完成node,node有自带的npm,可以直接在cmd中,找到nodeJs安装的路径下,进行命令行全局安装vue-cli.(npm install ...
- Json 数组传值
1. var _content = {}; _content[_title] = _oldValue + ' -- > ' + statusVal; 2. var eventData = { T ...
- laravel清缓存,flex简单使用
关于laravel 删除视图缓存:php artisan view:clear 清除运行缓存:php artisan cache:clear 清除配置缓存:php artisan config:cle ...
- (05) SpringBoot开发RESTFull?
1. 什么是RESTFull? RESTFull 一种互联网软件架构设计的风格,但它并不是标准,它只是提出了一组客户端和服务器交互时的架构理念和设计原则,基于这种理念和原则设计的接口可以更简洁,更有层 ...
- Linux Shell基线配置高级操作
一.输入解析类 1.1 echo解析tab和换行 问题描述:echo默认是原样输出字符串,并不解析\t和\n等反斜杠字符,如下图所示.我们希望echo能解析\t和\n等字符. 处理办法:可以使用-e指 ...
- var that = this 小坑记
在js编码过程中,经常会使用如上的语句来规避拿不到变量的问题. 比如: queryData:function () { var that=this; var param={}; for(var key ...
- Ubuntu配置MYSQL远程连接
一.修改mysql权限 1.mysql -u root -p 回车输入密码 2.use mysql: 打开数据库 3.将host设置为%表示任何ip都能连接mysql,当然您也可以将hos ...