当前位置: 首页 > news >正文

著名网站用什么语言做后台/怎么做百度网页

著名网站用什么语言做后台,怎么做百度网页,国内网页加速器,wordpress和phpmyadmin鼠标事件监听机制的三个方面:1.事件源对象:事件源对象就是能够产生动作的对象。在java语言中所有的容器组件和元素组件都是事件监听中的事件源对象。java中根据事件的动作来区分不同的事件源对象,动作发生在哪个组件上,那么该组件…

鼠标事件监听机制的三个方面:

1.事件源对象:

事件源对象就是能够产生动作的对象。在java语言中所有的容器组件和元素组件都是事件监听中的事件源对象。java中根据事件的动作来区分不同的事件源对象,动作发生在哪个组件上,那么该组件就是事件源对象

2.事件监听方法:

addmouselistener(mouselistener ml) ;该方法主要用来捕获鼠标的释放,按下,点击,进入和离开的动作;捕获到相应的动作后,交由事件处理类(实现mouselistener接口)进行处理。

addactionlistener(actionlistener al);捕获类似按钮组件上的鼠标点击动作或者是类似输入框组件上的键盘回车动作;然后将动作以及相关信息交由事件处理类(实现actionlistener接口)的相应方法进行处理。

addmousemotionlistener(mousemotionlistener mml);捕获鼠标的移动和拖动动作;然后将动作以及相关信息交由事件处理类(实现mousemotionlistener 接口)的相应方法进行处理。

addkeylistener(keylistener kl);捕获事件源对象上的键盘按键的按下、释放和敲击动作;然后将动作以及相关信息交由事件处理类(实现keylistener 接口)的相应方法进行处理。

3.事件接口(事件处理类,也即实现了事件接口的类):

mouselistener     鼠标事件接口,有按下,释放,点击,进入和离开的事件处理方法

actionlistener     动作事件接口,有动作对应的事件处理方法

mousemotionlistener    鼠标移动事件接口,有移动和拖动的事件处理方法

keylisetener       键盘事件接口,有释放,按下和敲击的事件处理方法

了解了事件监听的这三个方面之后,我们要对组件添加事件的监听就很容易了。下面是一个小例子:

目标:创建一个简易的绘图板,可以实现按下相应的功能来达到不同的绘画目的。

分析:

1.首选需要一个画图板的简易界面,定义一个draw类使用java的swing组件进行界面的初始化。

2.然后定义事件接口drawlistener类,让它实现以上的接口,重写接口中的方法,达到自己的目的。

3.在draw中实例化drawlistener类的对象。

4.为draw类中的组件添加事件监听方法,指定事件处理类为drawlistener。

代码实现:

draw类

package com.cbs;

import java.awt.color;

import java.awt.dimension;

import java.awt.flowlayout;

import java.awt.graphics;

import java.awt.event.actionevent;

import java.awt.event.actionlistener;

import javax.swing.jbutton;

import javax.swing.jframe;

/**

* draw类,用于界面的初始化

*

* @author cbs

*

*/

public class draw {

public static void main(string[] args) {

draw t = new draw();

t.showui();

}

// 界面初始化方法

public void showui() {

jframe jf = new jframe();

jf.settitle("画图");

jf.setsize(700, 700);

jf.setdefaultcloseoperation(3);

jf.setlocationrelativeto(null);

flowlayout layout = new flowlayout(flowlayout.left);

jf.setlayout(layout);

jbutton drawline = new jbutton("画直线");

jf.add(drawline);

jbutton drawoval = new jbutton("画椭圆");

jf.add(drawoval);

jbutton drawarc = new jbutton("画曲线");

jf.add(drawarc);

jbutton drawpolygon = new jbutton("三角形");

jf.add(drawpolygon);

jbutton jb1 = new jbutton();

jb1.setbackground(color.red);

jf.add(jb1);

jb1.setpreferredsize(new dimension(30, 30));

jbutton jb2 = new jbutton();

jb2.setbackground(color.green);

jf.add(jb2);

jb2.setpreferredsize(new dimension(30, 30));

jf.setvisible(true);

graphics g = jf.getgraphics();// 获取当前的画笔

drawlistener dl = new drawlistener(g);// 实例化drawlistener类的对象

jf.addmouselistener(dl);// 为窗体添加鼠标事件监听方法

jf.addmousemotionlistener(dl);// 为窗体添加鼠标移动事件监听方法

// 为按钮添加动作监听

drawline.addactionlistener(dl);

drawoval.addactionlistener(dl);

jb1.addactionlistener(dl);

jb2.addactionlistener(dl);

drawarc.addactionlistener(dl);

drawpolygon.addactionlistener(dl);

}

}

drawlistener类

package com.cbs;

import java.awt.color;

import java.awt.graphics;

import java.awt.image;

import java.awt.event.actionevent;

import java.awt.event.actionlistener;

import java.awt.event.mouseevent;

import java.awt.event.mouselistener;

import java.awt.event.mousemotionlistener;

import javax.swing.imageicon;

import javax.swing.jbutton;

/**

* 事件处理类

*

* @author cbs

*

*/

public class drawlistener implements mouselistener, mousemotionlistener,

actionlistener {

private int x1, y1, x2, y2;// 记录两次鼠标的点击坐标

private graphics g;// 从界面获取画布对象

private string str;// 记录当前按钮的信息,区分不同的按钮

private color color;// 记录画笔的颜色信息

private int f = 1;// 控制变量,用于更新坐标

public drawlistener(graphics g) {

this.g = g;

}

//鼠标按下时的处理方法

public void mousepressed(mouseevent e) {

// 记录第一次点击的位置;由对象e得到

if (f == 1) {

x1 = e.getx();

y1 = e.gety();

}

}

//鼠标点击时的处理方法

public void mouseclicked(mouseevent e) {

if ("三角形".equals(str)) {

system.out.println("sanjaioxing");

int x, y;

x = e.getx();

y = e.gety();

g.setcolor(color);

g.drawline(x, y, x1, y1);

g.drawline(x2, y2, x, y);

f = 1;

}

}

// 鼠标释放时的处理方法

public void mousereleased(mouseevent e) {

// 记录鼠标释放时的坐标

if (f == 1) {

x2 = e.getx();

y2 = e.gety();

}

// 两个坐标的得到了,可以用于直线的绘制,调用画布对象g方法,在界面上面画出直线

if ("画直线".equals(str)) {

g.setcolor(color);

g.drawline(x1, y1, x2, y2);

}

if ("画椭圆".equals(str)) {

g.setcolor(color);

g.drawoval(x1, y1, x2, y2);

}

if ("三角形".equals(str) && f == 1) {

g.setcolor(color);

g.drawline(x1, y1, x2, y2);

f++;

}

}

// 鼠标进入时的处理方法

public void mouseentered(mouseevent e) {

}

// 鼠标退出时的处理方法

public void mouseexited(mouseevent e) {

}

public void actionperformed(actionevent e) {

if ("".equals(e.getactioncommand())) {

jbutton jb = (jbutton) e.getsource();

color = jb.getbackground();

} else {

str = e.getactioncommand();

}

}

// 鼠标拖动时的处理方法

public void mousedragged(mouseevent e) {

if ("画曲线".equals(str)) {

int x, y;

x = e.getx();

y = e.gety();

g.setcolor(color);

g.drawline(x1, y1, x, y);

x1 = x;

y1 = y;

}

}

// 鼠标释放时的移动方法

public void mousemoved(mouseevent e) {

}

}

以上这篇详谈java中的事件监听机制就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

http://www.lbrq.cn/news/749305.html

相关文章:

  • 网站建设与维护方式是什么/seo研究协会网app
  • 福州网站建设模板/百度百家号登录入口
  • 台州建设网站制作/知识付费小程序搭建
  • 如何利用影视网站做cpa/谷歌seo推广招聘
  • 关于棋牌游戏网站建设文案/seo整站优化外包
  • 做网站的那个语言好/免费开通网站
  • 百度竞网建设网站/中央新闻
  • 如何查找做网站的服务商/长沙seo
  • 湛江公司做网站/网络营销站点推广的方法
  • 杭州 做网站/域名估价
  • 琼山网站制作/友情链接平台赚钱吗
  • 网站开发交易/使用软件提高百度推广排名
  • 西安网站建设服务商十强/网络推广是干什么的
  • 专业电子科技网站建设/佛山疫情最新消息
  • 重庆游戏网站开发/搜索引擎调词软件
  • 乌鲁木齐信息发布平台/优化营商环境的金句
  • c#网站开发视频教程 高清/百度免费推广有哪些方式
  • 企业网站优化服务主要围绕着/如何推广品牌知名度
  • 6度建筑人才网/seo站长论坛
  • 房产网站开发用什么语言好/郑州网站建设哪里好
  • 做网站属于什么备案/网站首页模板
  • 如何做网站站内搜索功能/促销策略
  • 展示型网站制作/长沙优化官网服务
  • 网站制作模版/百度客户端下载
  • 网站建设新方式简单省时/免费域名服务器
  • 公司网站搜索引擎优化/推广渠道有哪些平台
  • 合肥 电子商务 网站建设/湖南网站优化
  • 甘肃泾川县门户网站两学一做/什么平台打广告比较好免费的
  • 正规做兼职的网站/视频广告
  • 乡村旅游网站建设/淘宝自动推广软件
  • Critic-V: VLM Critics Help Catch VLM Errors in Multimodal Reasoning(CVPR 2025)
  • 数据结构03(Java)--(递归行为和递归行为时间复杂度估算,master公式)
  • 【FreeRTOS】队列集
  • 存算分离与云原生:数据平台的新基石
  • 嵌入式硬件篇---电源电路
  • 要想在Trae运行Java程序,该怎样配置Java环境?