2012-12-21 20 views
6

Tôi đang làm việc với một số mã viết đầu ra động vào máy tính để bàn bằng các tính năng AWT và Swing. Nó vẽ bằng cách sử dụng đồ họa 2D và hiển thị văn bản trong phông chữ.Chuyển một ứng dụng Java sử dụng AWT và Swing để vẽ phim sang phía máy chủ

Mã này có thể sử dụng Java Media Framework để lưu các tệp phim hoạt hình.

Tôi muốn chuyển mã này sang môi trường bên máy chủ thuần túy để làm việc với giao diện người dùng web. Mã vẽ có thể chạy bên trong thùng chứa servlet, hoặc bên ngoài như là một chương trình dòng lệnh. (Hoặc tôi có thể chọn không sử dụng thùng chứa servlet và thay vào đó sử dụng các cách mới hơn để chạy máy chủ web Java từ dòng lệnh.)

Tôi có thể sử dụng tính năng AWT và Swing mà không khởi động Hệ thống Cửa sổ X trên máy chủ không?

+0

có nghĩa là bạn muốn chạy mã mà không cần mở vùng chứa Java? –

+0

Tôi muốn chạy mã mà không cần mở Hệ thống Cửa sổ X hoặc GUI. Tôi có thể làm cho nó chạy trong một container, hoặc, trực tiếp như một ứng dụng giao diện điều khiển. – mparaz

Trả lời

11

Bài viết Using Headless Mode in the Java SE Platform vạch ra các giới hạn áp dụng cho các ứng dụng đó.

Ví dụ cụ thể JFreeChart là chương trình đồ họa được sử dụng rộng rãi trong cả ngữ cảnh máy tính để bàn và servlet. Đối với thứ hai, bất kỳ một số ChartUtilities có thể được sử dụng để truyền nội dung được hiển thị trong môi trường không có đầu.

Hoặc, hãy xem xét Java Web Start để triển khai một ứng dụng Swing hiện có, ví dụ: JFreeChart bản demo được xem here.

Hợp đồng bổ sung: Diễn đàn Oracle thread cho thấy rằng Khung phương tiện Java thực sự có thể ném HeadlessException; một workaround đề xuất là để xác định một giá trị tài sản hệ thống đặc biệt: diễn đàn

-Dawt.toolkit=sun.awt.HeadlessToolkit 

này JFreeChartthread gợi ý Xvfb hoặc vnc như giải pháp thay thế khi headless chế độ là không có sẵn.

+0

Cảm ơn. Điều này cũng sẽ làm việc để di chuyển hình ảnh động? Xin lỗi nó không rõ ràng trong mô tả của tôi (bây giờ đã chỉnh sửa). – mparaz

+0

Tôi đã xây dựng ở trên, mặc dù tôi muốn chào đón thêm bất kỳ kết quả phân tích nào. – trashgod

+0

Cảm ơn! Có vẻ như AWT/Swing cần một hệ thống đồ họa giả để làm việc cùng. – mparaz

Các vấn đề liên quan