2011-10-02 110 views
3

我想要顯示我的應用程序,無需攜帶筆記本電腦或分發混淆Java應用程序的麻煩。有沒有辦法遠程查看Swing應用程序?

是否有一種簡單的方法在瀏覽器中查看我的Swing應用程序。我不一定需要命令按鈕才能工作(但如果他們這樣做會很好),我只想看看互聯網上任何地方的像素。我有從JChart2D構建的圖表。

編輯:屏幕在可配置的時間段和15秒後更新是典型的,但如果桌面每15秒更新一次並且瀏覽器圖像以更慢的速度更新,例如1分鐘,那就沒問題。

編輯:我的主要是桌面應用程序,它是一個桌面應用程序滿足98%的要求,但如果我可以看到它或遠程使用它,而不需要重寫,這會給我額外的2%(見1%,使用1%)。

+0

您可以使用遠程桌面或VNC嗎?如果沒有,如果應用程序無法正常工作,您可能不介意瀏覽器窗口中的截圖。 – msandiford

+0

我需要每15秒更新一次,而不僅僅是靜態截圖。遠程桌面聽起來像個好主意。 – H2ONaCl

回答

2

沒有太多的解決方案,但最簡單的方法是JNLP

JNLP是一種基於XML的技術,用於通過Web啓動Java可執行文件。試想一下,您可以在應用程序中指定類路徑資源(圖像,JAR文件,屬性,文件等),分散在Web上並提供它們的URL,而不像普通的Java應用程序那樣依賴本地文件系統。此功能可讓您自動部署您的應用程序(即安裝所需的應用程序文件並正確啓動它們),只需聲明您的文件位於Web上即可。而且它比Applets更容易,由於瀏覽器的嚴格權限,它可能會給你造成很多麻煩。

JNLP的一個例子是herehere

+0

我最近嘗試過股票經紀人的JNLP客戶端。我猜它必須下載字節碼,因此它看起來像是一個不平凡的IP財產盜竊風險。不過,如果下載僅限於我給予密碼的用戶,它看起來就像一個實用的解決方案。 – H2ONaCl

2

我不認爲我會推薦這個(因爲它有安全含義和防火牆問題),但可以使用遠程X11服務器運行Java/Swing應用程序。

下面是一些相關鏈接:

但Linux文檔可能更多UPTODATE信息。

另一個想法是製作演示電影。

1

另一種可能性(不一定很好,但容易實現)可能是使用java.awt.Robot類。

使用此類,您可以定期拍攝屏幕快照,使用#createScreenCapture(...),然後使用javax.imageio.ImageIO將其寫入磁盤。

然後,創建一個顯示該圖像的HTML頁面並定期自動刷新就很簡單。有點複雜和迂迴,但可能讓你重新使用現有的基礎設施。

2

爲此目的,最近的Webswing可能是完美的。它似乎功能齊全。有一些小故障,我想念遊標。唉,遠程應用程序也顯示在服務器上,無論您是否需要它。

+0

嗨。你還在使用webswing(now = jan 2016)嗎?任何建議,或提示? – Houtman

+0

不,我從來沒有用過它,因爲我不需要它。 –

0

VNCj(official page,SourceForge)是一個較舊的項目,它在VNC服務器上提供了AWT的實現。 Swing在其上運行。與WebSwing不同,運行VNCj時服務器上不會顯示UI。

相關問題