JavaAccessBridge¶
Helper for enabling and querying Java Access Bridge - required for Java Swing/AWT automation.
JavaAccessBridge
¶
Utilities for enabling and checking the Java Access Bridge.
Source code in src\dolphin_desktop\_java.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | |
is_enabled
staticmethod
¶
Return True if Java Access Bridge appears to be active.
Source code in src\dolphin_desktop\_java.py
enable
staticmethod
¶
Run jabswitch.exe /enable; raises RuntimeError on failure.
Source code in src\dolphin_desktop\_java.py
ensure_enabled
staticmethod
¶
java_home
staticmethod
¶
Return the JRE/JDK home directory, or None if not found.
Source code in src\dolphin_desktop\_java.py
Usage¶
from dolphin_desktop import JavaAccessBridge
# Check status
print(f"JAB enabled: {JavaAccessBridge.is_enabled()}")
print(f"Java home: {JavaAccessBridge.java_home()}")
# Ensure enabled (idempotent - safe to call before every Java test)
JavaAccessBridge.ensure_enabled()
JABLocator¶
When Window.get_by_*() is called on a Java window (class_name="SunAwtFrame"), Dolphin
returns a JABLocator instead of the standard Locator. The high-level API is similar:
from dolphin_desktop import Desktop
desktop = Desktop()
app = desktop.launch_java("java -jar SwingApp.jar")
win = app.window(class_name="SunAwtFrame")
# win.get_by_role() returns JABLocator automatically
win.get_by_role("push button", name="OK").click()
win.get_by_role("text", name="Username").type_text("admin")
See the Java guide for the full role mapping table.