首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java事件处理,低级事件类型:键盘事件+焦点事件,你真的懂吗?

如果信用卡号格式不正确,就立即显示一个错误消息,并将焦点返回到信用卡域上。然而,JDK 1.4有一个更加健壮、更加简易数据校验机制。有关这部分内容将在第9章中讨论。...例如,当用户选择不同活动窗口时就会发生这种情况。只要用户再次选择当前窗口,同一个组件就会重新获得焦点。...java.awt.KeyboardFocusManager 1.4 • static KeyboardFocusManager getCurrentKeyboardFocusManager( ) 获得当前焦点管理器...• boolean isActive( ) 1.4 如果该框架或对话框是当前活动窗口,返回true。活动框架和对话框标题栏通常由窗口管理器标识出来。...• void windowLostFocus(WindowEvent event) 当事件源窗口失去焦点时调用这个方法。 觉得文章不错的话,可以转发关注一下小编,小编每天都会持续更新

3.9K30

android调用dialog.hide()引起输入事件派发错误问题追踪

,这个当前屏幕上虽然看不到对话框(使用hide()隐藏掉),但是inputmanager那边,却还是将此事件传递给了它,所以初步结论,focus window出现错误,导致事件派发错误,引出问题。...我们知道了这里有个mWindowHandles列表存储了当前窗口,并且已经排序,那么我们找下,这个值是谁给,因此我们在本文件查找,发现了关键方法setInputWindows, 这里会将窗口赋值进来...mDestroying 这两个值(其他本身也是要关注,但是因为已经跟过,知道他们不变,所以去掉了那些无关变量) 02 当前窗口信息,这些变量如何得知呢?...我这里尝试使用demo来测试,写了如下代码: 也就是把出问题那段逻辑,搬出来独立测试下,发现没有问题,这样子我们就可以进行对比了。...我们继续查找使用91b6679,发现了一段异常逻辑。

1.6K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何分析ANR问题

    这种情况下应用程序无法处理广播或按键消息,因此出现ANR。 由于原生Bug,窗口获取焦点超时导致ANR可能会报告在错误应用上,这主要是因为焦点应用和焦点窗口不同步导致,请参考1.2.2节。...在应用程序容易出现性能问题关键点适度添加log,对查找ANR问题非常有帮助。 3、 是否有多个应用都打出相同异常信息:有时一些ANR问题是由共同底层问题导致。...主线程看上去和阻塞很相似,但通常会停在一个被频繁调用原生公共模块,通常是窗口绘制或布局相关方法上。 低性能问题通常比较难以判断,应当主要关注以下几个特征。...分析这类问题时就不能简单地看应用程序主线程堆栈停在哪里,而是要分析窗口生命周期各个方法执行时间,找到运行迟缓部分。Event.log中需要关注信息主要有: ?...如果单一应用反复出现此现象,就需要在应用声明周期方法中分段添加log查找执行缓慢代码;如果多个应用随机出现此现象,就需要对系统整体性能进行分析,查找阻塞点。

    2.1K30

    听说你SAP GUI会崩溃闪退?

    相信从事SAP行业顾问偶尔会遇到崩溃闪退情况,关闭某个窗口或者执行某个动作时突然所有SAP GUI 窗口都被关闭,连同SAP LOGON也被关闭,消失在任务管理器中。...频繁崩溃现象出现在运行pfcg查看权限数据之后退回到首页,点击关闭窗口之后,有时候也会无规律地出现在其他地方。程序崩溃现象可能会造成系统账号卡死,不正常锁定单据情况。...报network error只是烟雾弹~在系统前台一样也能看到如下错误信息:后来经过多方尝试和系统程序dmp文件跟踪跟,发现造成崩溃现象是中文输入法导致。...而且崩溃情况只体现在关闭SAP GUI窗口瞬间,主要是看当前输入法是哪个。...平时每天总是会遇到过好几次程序崩溃,目前换了输入法一段时间之后,我再也没有遇到过了!

    1.3K01

    IDEA入门级使用教程----你怎么还在用eclipse?

    上个月,idea使用量超越eclipse消息席卷了整个IT界,idea到底好在哪里呢? 最智能IDE IDEA相对于eclipse来说最大优点就是它比eclipse聪明。聪明到什么程度呢?...强大纠错能力 我们总是会犯一些低级错误,比如一不留神打错一个字母,可能找了好久都找不到错误所在,IDEA纠错能力也许可以帮到你,再看一个例子。...我们只创建了两个jsp,当你返回值中出现了你没创建文件时,IDEA会提示错误,这样就可以避免你因为写错单词而造成错误。...Open project in the same window 每次都替换当前已打开项目,这样桌面上就只有一个项目窗口。...Confirm window to open project in 每次都弹出提示窗口,让我们选择用新窗口打开或是替换当前项目窗口

    58630

    搞定UI中报错信息设计,轻松提升用户体验

    但实际情况是,在用户体验设计中,总是会或多或少地出现各种不可避免错误。 第一部分:常出现报错有哪些? 当界面或应用无法执行用户想要操作时,就会造成错误状态或条件。...不要添加多余操作 一些交互设计师会把不同错误放在单独页面或弹出窗口中,尽管这样方式有其优势,也足够显眼,但过度使用的话就会产生极大副作用。...在大多数情况下,其实只需要在交互区域中创建一个颜色对比标记就足够了,使用消息框则显得臃肿繁琐,用户还要再次点击才能回到页面。想象一下,如果你正在填写注册表,然后弹出了错误提示窗口,是不是很多余?...此时只需要提供一些验证,并在字段附近显示错误消息即可。 但是,如果由于错误而需要将用户重定向到另一个页面,这时候就需要使用弹出窗口了。 当用户遗漏添加邮箱提交表单时报错设计: 5....使用图像和图标 用户接收视觉信息比文字信息快速很多,因此可以尝试在报错界面上使用图标或图像,此外,图片还具有很大情感吸引力,可以缓解用户处理错误紧张心理。 9.

    1.8K20

    【说站】win10系统打开网页不是私密连接怎么解决?

    如果在使用隐身模式时未出现错误消息,则您某个扩展程序可能会导致此问题。 方法三:禁用扩展程序 根据用户说法,由于扩展, 您连接不会发生私密错误。...3、现在将出现一个确认对话框。单击重置按钮以执行重置。 4、重置浏览器后,问题应完全解决。 方法九:转到网站 如果您在尝试访问自己喜欢网站时收到“您连接不是私人”错误消息,则可能只想忽略此警告。...忽略此消息不是最好解决方案,但是如果在尝试访问可靠网站时出现消息,则可能要忽略它。为此,请按照下列步骤操作: 1、出现错误消息时,单击“高级”。...4、之后,请尝试再次访问该网站,并检查是否会出现错误消息。 方法十一:检查您带宽限制 如果您使用网络连接有每月限制,则可能要检查网络使用情况。...方法十三:更改网站URL 这是一个简单解决方法,可能可以帮助您解决此问题。如果在尝试访问特定网站时出现“您连接不是私人错误”,则可能要更改网站URL。

    10.5K20

    理解JavaScript中window对象

    我们还可以找出它被浏览屏幕尺寸,以及在当前页面之前已经访问过哪些页面。它还可以用于创建弹出式窗口这种相当可疑做法,如果你喜欢惹恼你用户的话。...还值得注意是,大多数浏览器允许用户禁用任意重复出现对话框,这意味着该功能是不可靠。 浏览器信息 window对象有一系列属性和方法,这些属性和方法提供了有关用户浏览器信息。...如果完成赋值操作,当前页面将会使用属性值进行重新加载。...你也不能移动或调整一个不是用window.open()创建窗口大小。 尽量少使用这些方法是明智,所以在使用它们之前要仔细考虑。几乎总是会有一个更好替代方案,而一个优秀程序员会努力找到它。...该对象有一系列属性和方法,用来处理已经加载到窗口页面。document对象包含一些值得关注方法。 document.write() write() 方法只是将一串文本写到页面上。

    1.6K20

    当无边框窗口被子窗口遮挡导致难以调节窗口大小时,可通过处理 NCHITTEST 消息重新支持调节窗口大小

    做无边框窗口之后,我们有方法可以让窗口标题栏区域和边缘调大小区域继续正常工作,直到——这个窗口上面覆盖了其他窗口。这个子窗口会吃掉消息导致父窗口边缘无法再继续处理这些消息。...---- 子窗口遮挡了父窗口 看一下下面的动画,这个窗口下半部分放了一个子窗口。 然后尝试在边缘调节窗口尺寸,会发现被子窗口覆盖部分是无法完成窗口大小调节。...如果需要使用这段代码的话,你需要自己判断窗口边缘。...lParam 传入可以获得当前坐标(屏幕坐标系): 1 2 // 获得当前基于屏幕坐标系的当前鼠标光标位置。...返回 HTTRANSPARENT 时,操作系统只会查找同线程其他窗口,如果你窗口非同一个线程,那么操作系统处理消息循环时是找不到下一个处理消息窗口

    33720

    1.1 熟悉x64dbg调试器

    与传统调试器如Ollydbg相比,x64dbg调试器出现填补了Ollydbg等传统调试器不足,为反汇编调试工作提供了更高效、更可靠解决方案。...这对于调试和修复程序中错误非常有用,但需要小心操作,以避免引入新错误。跟踪代码执行:反汇编窗口还可以跟踪被调试程序代码执行过程,以便程序员可以了解程序在运行时行为和状态。...此外,堆栈窗口还可以允许用户修改栈上数据,这对于调试和修复程序中错误非常有用,但需要小心操作,以避免引入新错误。...您可以使用箭头键或鼠标滚轮向上或向下滚动,以浏览更多内存。这对于分析程序内存布局和查找特定数据非常有用。...当程序接收到指定类型消息时,消息断点会触发,程序执行会暂停,以便进行调试。图片消息断点在调试GUI程序时非常有用,可以帮助调试窗口消息处理代码,定位程序中错误或异常行为。

    72120

    1.1 熟悉x64dbg调试器

    与传统调试器如Ollydbg相比,x64dbg调试器出现填补了Ollydbg等传统调试器不足,为反汇编调试工作提供了更高效、更可靠解决方案。...这对于调试和修复程序中错误非常有用,但需要小心操作,以避免引入新错误。 跟踪代码执行:反汇编窗口还可以跟踪被调试程序代码执行过程,以便程序员可以了解程序在运行时行为和状态。...此外,堆栈窗口还可以允许用户修改栈上数据,这对于调试和修复程序中错误非常有用,但需要小心操作,以避免引入新错误。...您可以使用箭头键或鼠标滚轮向上或向下滚动,以浏览更多内存。这对于分析程序内存布局和查找特定数据非常有用。...当程序接收到指定类型消息时,消息断点会触发,程序执行会暂停,以便进行调试。 消息断点在调试GUI程序时非常有用,可以帮助调试窗口消息处理代码,定位程序中错误或异常行为。

    81230

    1.1 熟悉x64dbg调试器

    与传统调试器如Ollydbg相比,x64dbg调试器出现填补了Ollydbg等传统调试器不足,为反汇编调试工作提供了更高效、更可靠解决方案。...这对于调试和修复程序中错误非常有用,但需要小心操作,以避免引入新错误。跟踪代码执行:反汇编窗口还可以跟踪被调试程序代码执行过程,以便程序员可以了解程序在运行时行为和状态。...此外,堆栈窗口还可以允许用户修改栈上数据,这对于调试和修复程序中错误非常有用,但需要小心操作,以避免引入新错误。...您可以使用箭头键或鼠标滚轮向上或向下滚动,以浏览更多内存。这对于分析程序内存布局和查找特定数据非常有用。...当程序接收到指定类型消息时,消息断点会触发,程序执行会暂停,以便进行调试。图片消息断点在调试GUI程序时非常有用,可以帮助调试窗口消息处理代码,定位程序中错误或异常行为。

    57930

    Visual Studio 2008 每日提示(三十一)

    如果你小心点击了“取消”按钮,会提示你“在当前位置没有可用源码” 这时候,如果你停止,再试一次,你会发现查找代码位置对话框不再出现了。...解决办法如下: 右键点击“解决方案”+“通用属性”+“调试源码文件”,有个“不查找这些源文件”文本框 删除文件所对应行后,就可以在调试中再次出现查找源码对话框。...局部窗口:显示范围内所有声明。自动窗口是局部窗口子集。 例如,如下代码段,不做任何事,只产生未使用变量警告。 在自动窗口,你可以看见上一个声明和当前声明被运算。...在局部窗口,你会看见所有的声明,包括参数 评论:如果你关注更多声明运算建议你用局部窗口,如果你只关注当前声明的话最好用自动窗口。...如果你按Ctrl+F5启动程序而不调试,在底部就会出现“按任意键继续”消息。 评论:作者对此颇有疑问,不太理解为什么在调试状态控制台会一闪而过,而看不到任何调试信息。这个问题确实让人有些费解。

    88770

    XP出现应用程序错误怎么办

    电脑用久了总是会出现这样或者那样问题,其中最常见就是应用程序错误了。相信很多用户都遇到过应用程序错误,但是却不知道怎么办?其实解决方法很简单,下面就由小编教大家XP出现应用程序错误解决方法吧!...方法/步骤: 1、当某一应用程序在运行时报错,可采用重新安装程序方法来尝试解决问题。小编在此建议一种合理重装方法,就是先完全卸载原来程序,再运行安装程序进行重装。...2、如果重新安装应用程序方法无法解决遇到方法,则我们可以采用regsvr32命令将动态链接库文件重新注册一下。具体操作方法:打开“运行”对话框,输入命令“CMD”进入MSDOS界面。...3、将以下代码复制到命令窗口中并运行。...\*.dll) do regsvr32.exe /s %1 复制代码 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 转:XP XP出现应用程序错误怎么办

    1.2K30

    Excel编程周末速成班第24课:调试和发布应用程序

    excelperfect 主要内容: 了解程序bugs 避免程序bugs 使用VBA调试工具 发布Excel应用程序 VBA提供了一些出色工具来帮助你查找和修复程序bugs。...同样,如果用于某些数值计算代码产生不正确结果,则也将其视为bug。由于实际上存在无限数量潜在bug,因此无法列出或描述Excel程序中可能出现错误。...避免Bugs 减少程序bugs最重要步骤是始终使用OptionExplicit语句。该语句生效时,必须显式声明程序中每个变量。如果尝试使用未声明变量,则VBA会显示一条错误消息。...使用监视 监视使你能够在执行期间确定程序变量值。检查变量最简单方法是在中断模式下。只需将鼠标指针停留在代码中变量名称上,VBA就会弹出一个带有当前窗口。...通过设置监视,你可以关注变量或属性值以查看其是否以及何时更改。 可以使用多种方法来使用监视表达式: 可以监视其值。

    5.8K10

    一篇文章,搞定五种类型UI通知栏设计

    何时使用: Toast 是一种很好操作状态。例如,消息发送应用程序可以在消息发送成功时显示吐司“消息发送”。 提示: 不要使用 toast 来显示与当前用户任务无关信息。...如果您在任务中间打断用户告诉用户您产品具有的新功能,那就不好了。 不要将 toast 用于错误消息。由于 toast 会在短暂超时后消失,因此某些用户可能无法阅读错误消息。...5.全屏覆盖/模态窗口 全屏覆盖/模态窗口出现在应用内容顶部并要求用户做出决定对话框窗口。这种类型通知会在所有应用功能出现时禁用它们并保留在屏幕上,直到用户完成所需操作。...何时使用: 全屏覆盖/模式窗口应仅用于需要用户操作最关键系统更新。例如,它可能是阻止应用程序正常运行错误或需要特定用户决策关键信息。 小提示: 不要对促销消息使用全屏覆盖/模式。...4.避免为同一件事发送多个通知 即使用户没有回复,也不要发送后续通知。人们应该在方便时候关注通知。当您为同一件事发送多条消息时,用户更有可能关闭您应用所有通知,甚至删除该应用。 5.

    2.9K20

    C# 窗体常用API函数 应用程序窗体查找

    ,如果hwndParent为Null,则函数以桌面窗口为父窗口查找桌面窗口所有子窗口;如果hwndParent是HWND_MESSAGE,函数仅查找所有消息窗口; hwndChildAfter...如果hwndParent 和 hwndChildAfter同时为NULL,则函数查找所有的顶层窗口消息窗口。...SetActiveWindow() 但是使用该方法要特别注意,当在其他线程中对当前线程窗体进行激活使用该方法是没有作用。...想在找到目标窗体前提下,让目标窗体和其它窗体同时出现在桌面上,同时要保证只有目标窗体是处于激活状态,也就是说只有目标窗体可以接受到模拟按键消息。...这个参数使用下面值组合: SWP_DRAWFRAME 围绕窗口画一个框 SWP_FRAMECHANGED 发送一条WM_NCCALCSIZE消息进入窗口,即使窗口大小没有发生改变。

    3.9K70

    【Linux】《how linux work》第二章 基本命令和目录层次结构(2)

    例如vi这样编辑器在终端窗口内运行,使用标准终端I/O接口。图形界面编辑器则启动自己窗口,并呈现独立于终端界面。Emacs默认在图形界面中运行,但也可以在终端窗口中运行。...要修复警告消息中指出问题,你可能需要在执行其他操作之前查找并终止一个进程(你将在2.16 列出和操作进程中学习如何列出和终止进程)。...当您尝试读取一个不存在文件、切换到一个不存在目录、向一个不存在目录中文件写入时,都会出现这个错误信息。...此外,如果程序写入标准输出或标准错误,输出可能会出现在终端窗口中,而不考虑其他正在运行内容,这意味着在你处理其他事情时可能会得到意外输出。...bash shell和大多数全屏交互式程序都支持使用CTRL-L重新绘制整个屏幕。如果一个程序正在读取标准输入,通常使用CTRL-R重新绘制当前行,但是在错误时间按下错误序列可能会使情况变得更糟。

    13110
    领券