问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中的一段,谁能读懂?Component干什么用的

发布网友 发布时间:2022-04-26 09:30

我来回答

4个回答

热心网友 时间:2022-06-26 19:25

我大概给你写个注释

public void mouseDragged(MouseEvent e) //从这个方法名上看可能是鼠标拖动的方法
{
Component com=null; //Component 应该是java.awt.Component,它是很多awt组件 的父类型
if(e.getSource() instanceof Component) // 如果鼠标事件 e的发生源是Component(或它的子类)
{
com=(Component)e.getSource(); //将变量com赋值为 鼠标事件的发生源
if(com!=this) //如果得到的com变量不是这个类的实例本身(也说明了这个方法所在的类也是一个Component)

move=true; //将标志变量move设为true
e=SwingUtilities.convertMouseEvent(com,e,this); //将鼠标事件转化一下
if(move) //如果标志变量move是true
{
x=e.getX(); //得到这个鼠标事件相对于产生它的组件的X坐标
y=e.getY(); //跟上面一样
int w=com.getSize().width, //得到com组件的宽度(注意com组件就是产生e的组件)
h=com.getSize().height;
com.setLocation(x-w/2,y-h/2); //将com组件移到新的位置(这个位置有什么意义我还是搞不清楚)
}
}

热心网友 时间:2022-06-26 19:26

component 是一个具有图形表示能力的对象,可在屏幕上显示,并可与用户进行交互。典型图形用户界面中的按钮、复选框和滚动条都是组件示例。

Component 类是与菜单不相关的 Abstract Window Toolkit 组件的抽象超类。还可以直接扩展类 Component 来创建一个轻量级组件。轻量级组件是与本机不透明窗口不相关的组件。

序列化
存储对象时,仅保存那些符合 Serializable 协议的 AWT 侦听器,注意这一点很重要。如果具有侦听器的 AWT 对象未标记为可序列化,则在 writeObject 时将会被丢弃。开发人员始终需要考虑序列化对象的意义。需要注意的一种情形是:
import java.awt.*;
import java.awt.event.*;
import java.io.Serializable;

class MyApp implements ActionListener, Serializable
{
BigObjectThatShouldNotBeSerializedWithAButton bigOne;
Button aButton = new Button();

MyApp()
{
// Oops, now aButton has a listener with a reference
// to bigOne!
aButton.addActionListener(this);
}

public void actionPerformed(ActionEvent e)
{
System.out.println("Hello There");
}
}

在此示例中,通过 aButton 自身进行序列化会使得 MyApp 及其引用的所有内容也都被序列化。问题是,原本没打算序列化的侦听器也被同时序列化了。为分别判断 MyApp 和 ActionListener 是否可序列化,可使用一个嵌套类,如下面示例所示:
import java.awt.*;
import java.awt.event.*;
import java.io.Serializable;

class MyApp java.io.Serializable
{
BigObjectThatShouldNotBeSerializedWithAButton bigOne;
Button aButton = new Button();

static class MyActionListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Hello There");
}
}

MyApp()
{
aButton.addActionListener(new MyActionListener());
}
}

注:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing。

有关焦点子系统的详情,请参阅 The Java Tutorial 中的 How to Use the Focus Subsystem 部分,以及 Focus Specification 了解更多信息。

另请参见:
序列化表格

热心网友 时间:2022-06-26 19:26

应该是com.setLocation(x+w/2,y+h/2);吧

热心网友 时间:2022-06-26 19:27

这段看起来好像是实现图像拖拽。帖下component的源代码
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
畅享好还是荣耀好 怎么向老师请教问题?? ...和是40.15较大数的小数点向左移动一位就等于较小的数,这两_百度知... 两个数的和是40.15,较大数的小数点向左移动一位就等于较小的数这两... 两个数的和是40.15,较大的数的小数点像向左移动一位就等于较小的数... 两个数的和是40.15,较大数的小数点向左移动一位等于较小的数 ...和是40.15较大数的小数点向左移动一位就等于较小的数这两个数分别... 怎么用手机查询农行信用卡余额? 朝阳公园附近有孩子可以托管的地方吗? 华泰证券怎么添加第二张银行卡 连载漫画的全彩漫画杂志有哪些? 全息展示柜,用于哪些用途?? 求全彩同人漫画,最少20部 Component和container分别是什么类? 3D全息展示柜有哪些优势 跪求宫廷全彩漫画或动漫 spring注解中@component是什么意思 全息展柜怎么样? 这是网申里边要求填的GPA计算,下边是C D 等级。有没有人知道这个要怎么填?是用所有课程学时乘以绩点吗? 求纯“非纯洁向”全彩漫画,不要CG。给跪了。萝莉至上。。 component part 都是零件有何区别呢? 现有的全息投影展柜有哪些可以改进的地方? 哪里可以下载 bl 全彩色漫画呢 谢谢哥哥们 bydg3车晚上开车发动机开着歇火,但车灯亮,方向盘锁死 有谁有全彩漫画吗?动漫也行哦 “by”的各种含义后面分别加什么? component 怎么运用 湖南人才市场公需科目结业证审核时间 全息展柜有哪些 全息展示柜的原理是什么? 全息展柜产品优势? 我想做个全息投影展示柜?什么公司可以做啊?10月1期间就要展示的,这个制作周期是多长时间? 湖南普法考试第一没过会不会影响职称评定 幻像柜、全息显示、全息展示柜,3D展示柜 如何使用javascript进行RSA/ECB/PKCS1Padding算法加密 我是湖南怀化的老师,请问今年申报职称要求公需科目的培训必须达到几次 全息投影展柜用一个投影机可以吗 请问这个js是由什么方式加密混淆的如何解密?? 湖南省信息采集后多久开通继续教育 在浏览器端,安全控件跟 JS 加密的密码有何区别? 一台全息投影多少钱? 关于nodejs 怎么实现 crypto des加密 湖南药师考核专业课20学分是否还需要考试 目前全息投影有多少种应用?能达到什么程度呢? 这个字"赧‘怎么读? 求与之php openssl_public_encrypt()相对应的js加密方法 小黑狗 母的 泰迪犬 求起名 要可爱 简单的 我们想叫巧克力 她妈妈说出去叫太傻 她妈妈要叫小黑 有太土 - 赧这个字怎么读 Cocos2d-JS服务端和客户端的通信怎么加密和解密 为黑狗取名