0 0

【大型企业级应用问题】一个java对话框的windowsclosing监听器被自动调用。20

背景:我们的产品是一个企业级应用,swing客户端,在用户登录之后会生成一个对话框,这个对话框默认是隐藏的,在客户端断链的时候才会弹出来,让用户点击确定按钮,或者关闭按钮退出系统重新登录。

问题:客户在使用的时候,概率性出现客户端自动注销,查看日志,是因为这个对话框的关闭按钮事件被激活导致,但是日志打印发现客户端并没有断链,所以该对话框就没弹出来,用户也不可能点击那个对话框的关闭按钮。(和用户描述一致)

有时候用户切换去干别的事情也会出现客户端自动注销,日志都一样。

客户那里有很多套该软件,但是问题只在一台pc上出现。怀疑是客户环境问题,但是苦于没有证据,由于客户比较敏感,又不能随便重装客户的机器。

现在需要找一个办法,找到对话框关闭按钮监听器被激活的原因。

有什么办法能获取到事件被激活的原因,需要什么手段?

或者有什么别的思路来处理这个问题。

经过了解,我们排除了jre地址冲突的问题,因为jre并没有coredump,也没有相应的文件产生。

多谢!!
2013年4月04日 22:44

1个答案 按时间排序 按投票排序

0 0

在事件日志中记录当前线程的调用链(thread.getStackTrace()),通过分析调用链找触发事件的源头。如果不行的话,那就调用getAllStackTraces()方法,把当时所有线程的调用情况都记下来分析。

2013年4月05日 09:28

相关推荐

    java一个监听器的例子

    以下是一个简单的例子,展示了如何创建一个使用动作监听器的Java程序: ```java import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ListenerExample...

    Java设计模式之监听器模式实例详解

    监听器模式是Java设计模式中的一种行为型模式,主要用于监听某些事件的发生,并在事件发生时自动执行预定义的操作。在实际开发中,监听器模式可以用于多种场景,如UI事件处理、事件广播、异步通知等。 在监听器模式...

    java字体对话框(附源码)

    Java字体对话框是Java Swing库中的一个组件,用于在应用程序中与用户交互,允许他们选择字体、字号和样式。在Java编程中,我们通常使用`JOptionPane`或自定义的`JFrame`来创建这样的对话框。这个压缩包文件可能包含...

    java实现选择对话框

    根据给定的信息,本文将详细解释如何在Java中实现一个选择对话框,特别是文件对话框。这涉及到Swing组件库的使用,以及如何通过代码创建一个可以打开并选择文件或目录的基本界面。 ### Java实现选择对话框 #### 1....

    java显示消息对话框

    在Java编程语言中,消息对话框是用户界面(UI)设计中的一个重要元素,它用于向用户提供信息、请求确认或接收简单输入。Java提供了多种方法来创建和使用消息对话框,这些对话框通常由`java.awt`和`javax.swing`这两...

    java 字体对话框

    5. **处理用户选择**:为对话框的“确定”按钮添加事件监听器,当用户点击时,获取选定的字体属性并关闭对话框。 6. **显示对话框**:最后,调用`dialog.setVisible(true)`显示对话框。 在实际开发中,你可能会...

    Android高级应用源码-基本的对话框.zip

    5. **处理用户输入**:如果对话框包含输入字段,可以通过绑定视图和设置监听器来处理用户输入。 6. **关闭对话框**:当用户点击按钮或执行其他操作时,记得调用`dismiss()`方法来关闭对话框。 此外,"免费下载更多...

    自己编写一个Java监听器

    1.原理:  当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。...  2.2当事件源上发生操作时,它会调用事件监听器的一个方法,并且调用这个方法时,会传递事件对象过来  2.3事件监听器是由开

    java编写使用文本对话框

    在Java编程环境中,创建一个类似记事本的应用程序涉及到许多核心概念和技术,其中包括用户界面(UI)设计、事件处理、文件操作以及对话框的使用。本文将深入探讨如何使用Java来编写一个简单但功能齐全的文本编辑器,...

    Android应用源码之android 自定义对话框.zip

    在Android开发中,自定义对话框(Custom Dialog)是一个重要的组件,它允许开发者根据应用程序的UI风格和功能需求创建独特且交互性强的弹出界面。本压缩包中的资源提供了关于如何在Android应用中实现自定义对话框的...

    win32dll对话框的创建与调用

    3. **导出函数**:为了使其他应用程序能够调用你的DLL对话框,你需要在DLL的头文件中声明一个导出函数,例如`DLLEXPORT HRESULT STDCALL ShowMyDialog(HWND hwndParent)`。这个函数接收一个父窗口句柄(用于确定...

    java调用打印机打印的相关教程

    下面给出一个简单的打印示例,该示例展示了如何实现一个可以打印多页文本的应用程序。 ```java import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java...

    在对话框中点击按钮弹出另外一个对话框

    在软件开发中,特别是在图形用户界面(GUI)的设计中,"在对话框中点击按钮弹出另外一个对话框" 是一种常见的交互方式。这种设计允许用户通过执行特定操作(如点击按钮)来获取更多信息或者进行更复杂的操作。对话框...

    java确认对话框的使用

    #### 四、窗口监听器中的应用 除了简单的确认对话框外,`JOptionPane.showConfirmDialog()`还可以应用于更复杂的场景,比如在窗口关闭时询问用户是否保存当前内容。 ```java 01. addWindowListener(new ...

    Java的监听器种类

    ### Java的监听器种类 Java中的监听器是一种特殊类型的对象,它们主要负责监听特定的事件并在这些事件发生时执行相应的动作。监听器广泛应用于多种场景,尤其是在Servlet容器中,监听器能够帮助开发者更加灵活地...

    java事件监听方法和代码

    } 这个监听器定义了3个动作:键盘按下去调用keyPressed方法,键盘抬起来调用keyReleased,键盘被敲击一次调用keyTyped。 事件监听器是需要注册才能使用的,注册方法如下: public void add(<ListenerType>listener)...

    Android 对话框基本应用详细教程

    1. **AlertDialog**: 它是最常见的对话框类型,提供了标题、内容和一个或多个按钮。可以通过`AlertDialog.Builder`来创建,设置标题、消息和按钮。 2. **ProgressDialog**: 用于展示进度,通常在后台任务执行时显示...

    android 打开文本对话框

    这个场景中提到的“android 打开文本对话框”是一个Android应用功能,用于展示一个包含文本输入和交互的对话框。下面将详细解释如何在Android中实现这一功能,并探讨相关知识点。 首先,我们要知道Android中的...

Global site tag (gtag.js) - Google Analytics