2011-12-14 2 views
5

Người dùng muốn khởi động ứng dụng GUI Java từ Windows, với một số thông số JVM bổ sung.
Ví dụ:Cách khởi động chương trình GUI Java thuận tiện cho người dùng cuối

javaw -Djava.util.logging.config.file=logging.properties -jar MyGUI.jar 

Nếu tôi thêm dòng trên vào file hàng loạt, người dùng có thể kích đúp vào tên hàng loạt tập tin.
Và nó thật tuyệt. Nhưng có một tác dụng phụ gây phiền nhiễu: tệp lô sẽ mở cửa sổ cmd trước khi bắt đầu GUI.

đơn giản cách để khởi động ứng dụng GUI java bằng cách nhấp đúp lô-file (hoặc tập tin nào đó phù hợp với nhu cầu ở trên) mà không cần mở cửa sổ cmd ?

+0

Sử dụng phím tắt Windows – chance

+0

@chance Lời khuyên kém. Bạn chưa hiểu câu hỏi của tôi. – MockerTim

+0

Sẽ không khởi chạy GUI của bạn nếu không có cửa sổ cmd nếu bạn nhấp đúp vào phím tắt để javaw? Hoặc không thể tạo shorcut cho khách hàng? – chance

Trả lời

6

tôi nhìn thấy một số cách sau:

  • Dùng launcher như được tạo ra bởi Launch4J (nhờ CodeBrickie for the tip) hoặc Install4J/Exe4J. Launch4J cho phép bạn tinh chỉnh các tham số bằng cách tạo một tệp .l4j.ini có cùng tên với tệp exe. Trong trường hợp của Exe4J, các thông số bổ sung có thể được xác định trong một tập tin .vmoptions mà bạn thả bên cạnh exe được tạo ra.
  • Tạo Lối tắt tới javaw.exe, đặt biểu tượng bạn muốn, đặt trường "Bắt đầu trong" vào thư mục của ứng dụng và chỉ định tham số của bạn để javaw trong trường Mục tiêu.
  • Tạo một tập lệnh VB khởi chạy javaw.Nếu thời gian chạy VBS được đặt để sử dụng wscript, không có cửa sổ bảng điều khiển nào sẽ bật lên.
  • Nếu bạn sử dụng Java Web Start, bạn có thể muốn cho phép người dùng tinh chỉnh tệp JNLP như được chỉ định trong Java Webstart with parameters.
+0

Upvote. Shortcut để javaw.exe thực sự là đơn giản. – MockerTim

3

Hãy thử

start javaw -Djava.util.logging.config.file=logging.properties -jar MyGUI.jar 

Bạn cũng có thể sử dụng scripting:

VBS:

Const HIDDEN_WINDOW = 12 

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set objStartup = objWMIService.Get("Win32_ProcessStartup") 

Set objConfig = objStartup.SpawnInstance_ 
objConfig.ShowWindow = HIDDEN_WINDOW 
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process") 
errReturn = objProcess.Create("Notepad.exe", null, objConfig, intProcessID) 

JScript:

var WindowStyle_Hidden = 0 
var objShell = WScript.CreateObject("WScript.Shell") 
var result = objShell.Run("cmd.exe /c abc.bat", WindowStyle_Hidden) 

Cuối cùng, có những tiện ích có mục đích chung y bạn có thể sử dụng để ẩn các cửa sổ, chẳng hạn như CMDOWHidden Start ($20). Tôi đã không sử dụng bản thân mình, vì start cũng làm như vậy.

+0

Những tiện ích này là gì? – MockerTim

+0

Ví dụ được thêm. –

3

Người dùng muốn khởi động ứng dụng Java GUI ..

Kinh nghiệm người dùng tốt nhất cho người dùng cuối sẽ được cung cấp bằng cách tung ra các ứng dụng. sử dụng Java Web Start. JWS có thể cài đặt các phím tắt trên màn hình và các mục menu để khởi chạy ứng dụng.

..from của Windows ..

JWS cũng hoạt động trên OS X & * nix.