2012-12-11 143 views
1

每當我嘗試啓動顯示gui的任何java應用程序時,都會出現錯誤。我已經嘗試了Java 6和Java 7.這兩個工作,我已經嘗試了更老的和更新的NVIDIA驅動程序。我不確定這是Java還是我們使用的主板沒有兼容視頻驅動程序的問題?板載視頻驅動程序是geforce 520,主板是d2700itx zotac。Java Swing不工作

這是我從我們所有的房子Java應用程序中獲取本機上的Windows XP錯誤:

# 
# A fatal error has been detected by the Java Runtime Environment: 
# 
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000001fe, pid=3628, tid=3896 
# 
# JRE version: 6.0_37-b06 
# Java VM: Java HotSpot(TM) Client VM (20.12-b01 mixed mode, sharing windows-x86) 
# Problematic frame: 
# C 0x000001fe 
# 
# If you would like to submit a bug report, please visit: 
# http://java.sun.com/webapps/bugreport/crash.jsp 
# 

--------------- T H R E A D --------------- 

Current thread (0x033ef400): JavaThread "AWT-EventQueue-1" [_thread_in_Java, id=3896, stack(0x03d60000,0x03db0000)] 

siginfo: ExceptionCode=0xc0000005, reading address 0x000001fe 

Registers: 
EAX=0x00000000, EBX=0x00000015, ECX=0x22a2f620, EDX=0x00000000 
ESP=0x03db9c3f, EBP=0x03dae65c, ESI=0x36b42f81, EDI=0x03dae688 
EIP=0x000001fe, EFLAGS=0x00010216 

Top of Stack: (sp=0x03db9c3f) 
0x03db9c3f: 0000000b 00000000 00000000 00000000 
0x03db9c4f: 23c10100 0023e200 07f40100 c0006be0 
0x03db9c5f: 0000026d 6dc70000 6dd00604 00050000 
0x03db9c6f: 00000000 00000000 056dd500 006ddd15 
0x03db9c7f: e2002b00 00000004 05c20000 0013c200 
0x03db9c8f: 00000000 05e20000 c1000000 08c20012 
0x03db9c9f: 0009c200 00000000 00000000 00000000 
0x03db9caf: 00000000 00000000 01010100 00000001 

Instructions: (pc=0x000001fe) 
0x000001de: 
+1

你的代碼是什麼? – Will

+1

嘗試啓動與DirectDraw禁用應用程序:'-Dsun.java2d.noddraw = true' –

+0

試過這個,似乎沒有任何效果。 – davidahines

回答

2

嘗試禁用Java的硬件加速系統作爲一個整體。

  1. 打開Java控制面板。
  2. 雙擊Java圖標。
  3. 單擊Java選項卡。
  4. 單擊Java Applet運行時設置中的查看按鈕。
  5. 在Java運行時參數字段中爲正在使用的每個JVM添加-Dsun.java2d.d3d=false

請注意,這也將有減少應用程序使用的內存量(以我的經驗)的副作用。

您還可以使用屬性文件和env設置JVM默認屬性。變量(谷歌的細節)。可能值得將該屬性添加到您的某個失敗應用程序的命令行中,以便首先進行測試。

+0

我似乎無法打開java控制面板。 – davidahines

+1

也許java控制面板使用swing – davidahines

+0

您還可以使用屬性文件和env設置JVM默認屬性。變量 - 谷歌的。可能值得將該屬性添加到您的某個失敗應用程序的命令行中,以便首先進行測試。 –