Я новичок в jxBrowser и API. Я следовал всем инструкциям на веб-сайте jxBrowser, чтобы включить в свой проект netbeans простую карту Google Dynami c. Я использую MacOS Mojave и java версии 14 и NetBeans. Я также пытался следовать инструкциям в https://jxbrowser.support.teamdev.com/support/solutions/articles/9000013072-using-jxbrowser-in-swt Я на 100% уверен, что моя лицензия действительна, так как я получил ее вчера и проверил, что работает с файлом html, который понравился странице Google.
Они в основном говорят следующее: «При использовании флага -XstartOnFirstThread VM поток пользовательского интерфейса по умолчанию изменяется на Java« основной »поток, который нарушает функциональность Chromium, требующую потока AppKit. В результате Chromium не удается инициализировать в» основной поток, и вы видите проблему зависания, а затем сообщение об ошибке «IP C не может быть запущено, потому что Chromium не отвечает» ... вы можете использовать облегченный режим рендеринга с jxbrowser.ip c .external = true JVM параметр».
Однако я получаю следующую ошибку:
Может кто-нибудь помочь мне с точными инструкциями? Буду очень признателен!
run:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.teamdev.jxbrowser.deps.com.google.protobuf.UnsafeUtil (file:/Users/francois-alexandretremblay/Downloads/jxbrowser-7.6-cross-desktop-win_mac_linux/lib/jxbrowser-7.6.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of com.teamdev.jxbrowser.deps.com.google.protobuf.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread "main" com.teamdev.jxbrowser.engine.InvalidLicenseException: Invalid license format.
at com.teamdev.jxbrowser.engine.internal.EngineImpl.throwExceptionAndCleanup(EngineImpl.java:376)
at com.teamdev.jxbrowser.engine.internal.EngineImpl.newInstance(EngineImpl.java:255)
at com.teamdev.jxbrowser.engine.Engine.newInstance(Engine.java:97)
at googlemapdynamic.GoogleMapDynamic.main(GoogleMapDynamic.java:19)
/Users/francois-alexandretremblay/Library/Caches/NetBeans/11.3/executor-snippets/run.xml:111: The following error occurred while executing this line:
/Users/francois-alexandretremblay/Library/Caches/NetBeans/11.3/executor-snippets/run.xml:68: Java returned: 1
BUILD FAILED (total time: 0 seconds)```
package googlemapdynamic;
import static com.teamdev.jxbrowser.engine.RenderingMode.HARDWARE_ACCELERATED;
import com.teamdev.jxbrowser.browser.Browser;
import com.teamdev.jxbrowser.engine.Engine;
import com.teamdev.jxbrowser.engine.EngineOptions;
import com.teamdev.jxbrowser.engine.RenderingMode;
import com.teamdev.jxbrowser.view.swing.BrowserView;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class GoogleMapDynamic {
public static void main(String[] args) {
Engine engine = Engine.newInstance(EngineOptions.newBuilder(RenderingMode.OFF_SCREEN)
.licenseKey("My_Key_Here").build());
Browser browser = engine.newBrowser();
SwingUtilities.invokeLater(() -> {
BrowserView view = BrowserView.newInstance(browser);
JFrame frame = new JFrame("Google Maps");
frame.add(view, BorderLayout.CENTER);
frame.setSize(800, 500);
frame.setVisible(true);
browser.navigation().loadUrl("file:///Users/francois-alexandretremblay/maps.html");
});
}
}