Java 内部类和匿名类 实现JButton动作 ActionListener类

1importjavax.swing.*;2importjava.awt.*;3importjava.awt.event.*;45publicclassControlCircle2extendsJFrame{6privateJButtonjbtEnlarge=newJButton("Enlarge");7privateJButtonjbtShrink=newJButton("Shrink");8privateCirclePanelcanvas=newCirclePanel();910publicControlCircle2(){11JPanelpanel=newJPanel();12panel.add(jbtEnlarge);13panel.add(jbtShrink);14this.add(canvas,BorderLayout.CENTER);15this.add(panel,BorderLayout.SOUTH);1617jbtEnlarge.addActionListener(newEnlargeListener());18jbtShrink.addActionListener...

Java Super 覆盖方法

子类从父类中继承方法,有时候,子类需要修改父类中定义的方法的实现,这称作方法覆盖。比如,GeometricObject类中的toString方法返回表示集合对象的字符串,这个方法就可以被覆盖,返回表示圆的字符串。 1publicStringtoString(){2  returnsuper.toString()+"radiusis"+radius;3} 要在Circle类中调用定义在GeometricObject中的toString方法,使用super.toString()。需要注意的是:1、仅当实例方法是可访问时,它才能被覆盖。因为私有方法不能在它的类之外被访问。如果子类中定义的方法在父类中是私有的,那么这两个类完全没有关系。2、静态方法能被继承,但是不能被覆盖。如果父类中定义的静态方法在子类中被重新定义,那么定义在父类中的静态方法将被隐藏,使用父类名.静态方法名调用隐藏的静态方法。 另外,说一下Object类中equals的方法的默认实现和覆盖方法: 1publicbooleanequals(Objectobj){2return(this==...

Celery 框架学习笔记

在学习Celery之前,我先简单的去了解了一下什么是生产者消费者模式。在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。单单抽象出生产者和消费者,还够不上是生产者消费者模式。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消费者从缓冲区取出数据,如下图所示:生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过消息队列(缓冲区)来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给消息队列,消费者不找生产者要数据,而是直接从消息队列里取,消息队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个消息队列就是用来给生产者和消费者解耦的。------------->这里又有一个问题,什么叫做解耦?解耦:假设生产者和消费者分别是两个类。如果让生产者直接调用消费者的某个方法,那么生产者对于消费者就会产生依赖(也就是耦合...

docker安装执行问题

ubuntu14.04上安装docker问题:sudoapt-getupdatecurl -fsSL https://get.docker.com -o get-docker.shsh get-docker.sh查看docker版本:docker versionClient:Version:18.06.3-ceAPIversion:1.38Goversion:go1.10.3Gitcommit:d7080c1Built:WedFeb2002:27:132019OS/Arch:linux/amd64Experimental:falseServer:Engine:Version:18.06.3-ceAPIversion:1.38(minimumversion1.12)Goversion:go1.10.3Gitcommit:d7080c1Built:WedFeb2002:25:382019OS/Arch:linux/amd64Experimental:false然后测试docker是否可以运行:dockerrunhello-worl...

Python Beautiful Soup学习之HTML标签补全功能

BeautifulSoup是一个非常流行的Python模块。该模块可以解析网页,并提供定位内容的便捷接口。使用下面两个命令安装:pipinstallbeautifulsoup4或者 sudoapt-getinstallPython-bs4如果想安装最新的版本,请直接下载安装包来手动安装,也是十分方便的方法。在这里我安装的是BeautifulSoup4.5.1下载完成之后把解压包放到site-package目录下,cd到解压包中,运行下面的命令即可完成安装:sudopythonsetup.pyinstall然后需要安装lxml:sudoapt-getinstallPython-lxml使用BeautifulSoup的第一步是将已下载的HTML内容解析为soup文档。由于大多数网页都不具备良好的HTML格式,因此BeautifulSoup需要对其实际格式进行确定。例如,在下面这个简单网页的列表中,存在属性值两侧引号缺失和标签未闭合的问题。markup="<b><!--Hey,buddy.Wanttobuyausedparser?--></b>&...

python进阶笔记 thread 和 threading模块学习

Python通过两个标准库thread和threading提供对线程的支持。thread提供了低级别的、原始的线程以及一个简单的锁。threading基于Java的线程模型设计。锁(Lock)和条件变量(Condition)在Java中是对象的基本行为(每一个对象都自带了锁和条件变量),而在Python中则是独立的对象。start_new_thread()要求一定要有前两个参数。所以,就算我们想要运行的函数不要参数,我们也要传一个空的元组。test_thread.py#!/usr/bin/envpython#-*-coding:utf-8-*-importthreadimporttimefromtimeimportsleep,ctimetest_list=[5,8]deff1():print'startf1at:',ctime()sleep(5)print'f1doneat:',ctime()deff2():print'startf1at:',ctime()sleep(3)print'f1doneat:',ctime()defmain():print"start:",ctime()th...

CKFinder是什么

CKFinder是一个易于使用的Ajax文件管理器。提供文件夹树形结构(Folderstree)导航菜单,多语言支持(自动探测用),支持创建/重命名/删除文件和文件夹,集成FCKeditor在线编辑器。...
开发笔记 开发笔记·2020-03-24

DevExpress GridControl 单元格添加进度条(ProgressBar)

首先可以使用DevExpressGridControl自带的进度条控件.但是我要用一个方法来设置所以的单元格进度,而不是每个单元格都要设置一遍,同时我想要根据进度值不同,进度条显示不同的颜色.那么就要自己手动的编写代码来完成了.1:绘制一个单元格进度条形状  当进度小于50%时显示为红色.publicvoidDrawProgressBar(DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgse){strings=e.CellValueasstring;s=s.Substring(0,e.CellValue.ToString().Length-1);decimalpercent=Convert.ToDecimal(s);intwidth=(int)(100*Math.Abs(percent/100)*e.Bounds.Width/100);Rectanglerect=newRectangle(e.Bounds.X,e.Bounds.Y,width,e.Bounds.Height);Brushb=Brushe...

连接池中的maxIdle,MaxActive,maxWait等参数详解

<beanid="aaa"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><propertyname="driverClassName"value="oracle.jdbc.driver.OracleDriver"/><propertyname="url"value="jdbc:oracle:thin:@ip:port:cbdb"/><propertyname="username"value="aaa"/><propertyname="password"value="aaa"/><propertyname="maxActive"value="4000"/><propertyname="maxIdle"value="1000"/><propertyname="maxWait"value="30000"/></bean>name:表示你的连接池的名称也就是你要访问连接池的地址auth:是连接池...

Python通过一个网页地址获得网页标题Title

importrequestsfrombs4importBeautifulSoupres=requests.get("https://www.51dev.com")res.encoding='utf-8'#soup=BeautifulSoup(res.text,'lxml')print(soup.title.text) ...

微信小程序之自定义select下拉选项框组件

知识点:组件,animation,获取当前点击元素的索引与内容微信小程序中没有select下拉选项框,所以只有自定义。自定义的话,可以选择模板的方式,也可以选择组件的方式来创建。这次我选择了组件,这样只需引入组件和添加数据,其它的不用管,就能实现多个地方重复使用了。第一步:创建组件所需的文件我喜欢把共用的内容都放在和pages文件同级的地方,所以有了下面的目录结构 (1)先创建一个自定义名字的文件夹,例如我上面的Componet(2)再创建一个select文件夹,然后:右键这个文件夹,新建下面的这个Component。然后输入需要创建的名称,我这里为了方便就取了select的名字。然后就会自动创建4个文件,js、json、wxml、wxss。第二步:开始配置组件注意:如果通过第一步创建的可直接跳过第二步。(1)通过第一步创建的组件的文件夹中,已经自动配置好了。只需在引入组件的时候,在引入组件的页面的json文件中配置组件的名称和组件的位置。(2)如果自己手动创建组件的js、json、wxml、wxss这个文件,那么需要在json文件中填入 "compone...

微信程序之swiper轮播图中的图片自适应高度

程序中的轮播图很简单,官方都有例子的,但是唯一的缺陷就是swiper是固定死的150px高度,这样如果传入的图片大于这个高度就会被隐藏。辣么,怎样让图片自适应不同分辨率捏。我的思路是:获取屏幕宽度,获取图片的宽高,然后等比设置当前屏幕宽度下swiper的高度。1.结构<swiperindicator-dots="{{indicatorDots}}"autoplay="{{autoplay}}"interval="{{interval}}"duration="{{duration}}"indicator-active-color="{{bg}}"><blockwx:for="{{imgUrls}}"><swiper-item><imagesrc="{{item}}"class="slide-image"mode="widthFix"bindload='imgH'/>//bindload是绑定图片加载的事件,记得给image加上mode=“widthFix”这个属性哦,还有就是设置这个image100%宽度哟</swiper-item...

微信机器人框架- wechaty

项目介绍wechaty(https://github.com/wechaty/wechaty)是一款开源的微信SDK,它基于微信公开的API,对接口进行了一系列的封装,提供一系列简单的接口,然后开发者可以在其之上进行微信机器人的开发。在跟作者沟通试用以后,发现其中有着非常多的应用场景,比如:1)如果你的好友众多,如何管理和维护好友分组;2)如何快速有序地处理海量聊天信息,并区分重要性;3)如何处理海量的聊天组,特别是微信可以任意建组,长期以后会出现非常多的聊天组;4)能否可以自动智能地进行聊天回复5)……1快速上手wechaty使用node编写,所以支持几乎所有的平台,wechaty的hello-world只需要6行代码即可实现聊天记录的动态收集。为了使用方便作者还进行了docker化的封装,结合docker绝对是一个不错的选择。Step1:新建一个mybot.js,内容如下:const{Wechaty}=require('wechaty')Wechaty.instance()//Singleton.on('scan',(url,code)=>cons...

wechaty-微信聊天机器人-调研分析

1、背景知识点1、Wechaty是什么?wechaty是一款开源的微信SDK,它基于微信公开的API,对接口进行了一系列的封装,提供一系列简单的接口,然后开发者可以在其之上进行微信机器人的开发,微信机器人框架。Github官方说明:Wechaty是一个用于个人帐户的WechatBotSDK,它允许您创建软件以扩展Wechat的功能,使用TypeScript在Node.js中编写,支持所有平台,包括Linux,OSX,Win32和Docker。 作为开发人员,您可以使用Wechaty轻松地在Wechat个人帐户上构建您的机器人,有效地管理消息发送/接收,房间创建/邀请,联系友谊,以及令人愉快的用户和您的机器人之间的人为挑战。2、Wetool是什么?微信社群管理工具。可以提供客服消息手法、检测僵尸粉、自动回复机器人、群统计、挂机百宝箱(自动接受好友、欢迎进群新人、自动踢人等)。有两个版本,企业版比免费版功能要更强大。3、SDKSDK即“软体开发工具包”SoftwareDevelopmentKit,一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台...

wordpress前台模板的常用函数集合

wordpress模板是由PHP语句组成,很多不懂代码的站长都被PHP复杂的代码难倒,难以自己开发个性化的模板。其实想开发一个wordpress模板并不是太难,大家只要了解一些wordpress中的常用函数,即可按照自己的需要进行内容调用了。更高端一点的类似于一些PHP语句的判断等等,这就需要大家自己去学习提高了。本篇文章主要讲解wordpress开发模板中经常需要用到的一些函数。 一、header常用的函数<?phpbloginfo('name');?> :博客名称(Title)[输出示例:前端开拓者]<?phpbloginfo('stylesheet_url');?> :CSS文件路径 [输出示例:http://www.frontopen.com/wp-content/themes/frontopen2/style.css]<?phpbloginfo('pingback_url');?> :PingBackUrl [输出示例:http://...
首页上一页...48824883488448854886...下一页尾页