- 締切済み
2度フォーカスを当てるだけでswtのアプリケーションが落ちる
swtのファイル選択ダイアログにて、デスクトップ上のファイルに2度フォーカスを当てるだけでswtのアプリケーションが落ちてしまいます。 原因と退避方法について分かる方いましたら教えてください。 ■エラー再現手順 (1)swt画面にてファイル選択ダイアログを開く (2)画面左のデスクトップリンクをクリックして、あるファイルにマウスのフォーカスを当て、そのまま「キャンセル」ボタンを押下する ※フォーカスを当てるだけでファイルの選択はしない (3)再度、(1)、(2)の動作を繰り返すと画面が落ちる ■環境 OS:WindowsXP Professional swtバージョン:swt-win32-2136.dll javaバージョン:1.4.2_06 以上、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nimua
- ベストアンサー率21% (8/38)
回答No.1
失礼ですが、 おそらく実装が悪いのかと思われます。 一応他の処理無しで、 上記の動作を試してみたのですが、 問題ありませんでした。 (環境は多少違いますが) ただ、記載されている情報ではこれ以上お答えしようが無いです。 エラー内容や、ソースコードの一部でも乗せて頂かないと・・・。
補足
ご回答ありがとうございます。 ソースコードとエラーログの一部を記載させていただきます。 これで何か分かりましたらご教授ください。 ちなみに、先ほどの手順ではエラーログが出力されないのですが、 手順(2)の”画面左のデスクトップリンクをクリックする”という部分を”ファイル選択ダイアログの保存する場所からデスクトップを選択する”として同作業を実行するとWindowsのエラーダイアログが出力されます。 内容は「問題が発生したため、javaw.exeを終了します。ご不便をおかけして申し訳ありません。」です。 そのうち「エラー報告に関する技術情報」の一部を記載いたします。 ■ダイアログエリアの作成ソースコード protected Control createDialogArea(Composite parent) { Composite area = (Composite) super.createDialogArea(parent); area.setLayout(new FormLayout()); SGroup mainGroup; { mainGroup = new SGroup(area, SWT.NONE); final FormData groupFormData = new FormData(); groupFormData.top = new FormAttachment(0, 0); groupFormData.left = new FormAttachment(0, 5); groupFormData.bottom = new FormAttachment(100,0); groupFormData.right = new FormAttachment(100,-5); mainGroup.setLayoutData(groupFormData); mainGroup.setLayout(new FormLayout()); SLabel csvLabel; { csvLabel = new SLabel(mainGroup, SWT.NONE); final FormData formData = new FormData(); formData.left = new FormAttachment(0, 30); formData.top = new FormAttachment(0, 25); csvLabel.setLayoutData(formData); csvLabel.setText("出力ファイル名"); } { fileReference = new FileReference( mainGroup, SWT.SAVE ) ; final FormData formData = new FormData(); formData.bottom = new FormAttachment(csvLabel, 40, SWT.BOTTOM); formData.top = new FormAttachment(csvLabel, 10, SWT.BOTTOM); formData.right = new FormAttachment(0,470); formData.left = new FormAttachment(csvLabel,0,SWT.LEFT); fileReference.setLayoutData(formData); fileReference.setFilterExtensions(new String[]{"*.csv"}); } } return area; } ■エラーログ(の一部) <?xml version="1.0" encoding="UTF-16"?> <DATABASE> <EXE NAME="SYSTEM INFO" FILTER="GRABMI_FILTER_SYSTEM"> <MATCHING_FILE NAME="advapi32.dll" SIZE="673792" CHECKSUM="0xF54AB4B9" BIN_FILE_VERSION="5.1.2600.2180" BIN_PRODUCT_VERSION="5.1.2600.2180" PRODUCT_VERSION="5.1.2600.2180" FILE_DESCRIPTION="Advanced Windows 32 Base API" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft(R) Windows(R) Operating System" FILE_VERSION="5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)" ORIGINAL_FILENAME="advapi32.dll" INTERNAL_NAME="advapi32.dll" LEGAL_COPYRIGHT="(C) Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xA9F66" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.2180" UPTO_BIN_PRODUCT_VERSION="5.1.2600.2180" LINK_DATE="08/04/2004 07:52:58" UPTO_LINK_DATE="08/04/2004 07:52:58" VER_LANGUAGE="日本語 [0x411]" /> <MATCHING_FILE NAME="gdi32.dll" SIZE="278016" CHECKSUM="0x603F3E26" BIN_FILE_VERSION="5.1.2600.2180" BIN_PRODUCT_VERSION="5.1.2600.2180" PRODUCT_VERSION="5.1.2600.2180" FILE_DESCRIPTION="GDI Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)" ORIGINAL_FILENAME="gdi32" INTERNAL_NAME="gdi32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x45C9D" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.2180" UPTO_BIN_PRODUCT_VERSION="5.1.2600.2180" LINK_DATE="08/04/2004 07:53:00" UPTO_LINK_DATE="08/04/2004 07:53:00" VER_LANGUAGE="英語 (米国) [0x409]" /> ・・・ 以上、よろしくお願いします。