2008-10-27 4 views
6

Có thể dễ dàng nhúng các điều khiển ActiveX trong ứng dụng Java không? Nó có đáng không. Trong dự án tiếp theo của tôi, tôi nên sử dụng activex hiện có trong ứng dụng Java hoặc phải thực hiện lại mọi thứ từ đầu, vì vậy tôi tự hỏi điều gì sẽ ít rắc rối hơn.Activex từ ứng dụng java?

Trả lời

10

Tôi không nghĩ rằng có cách để thực hiện việc này mà không cần sử dụng thư viện của bên thứ ba. (Hoặc tự mình cuộn, nhưng bạn đã nói "dễ dàng".)

SWT ("Bộ công cụ tiện ích tiêu chuẩn") chứa hỗ trợ nhúng các điều khiển ActiveX. SWT là một thay thế cho Swing, mặc dù có một mức độ khả năng tương tác giữa chúng.
Here's ví dụ về cách nhúng Windows Media Player trong cửa sổ SWT.

Hoặc có dự án Jacob, mặc dù tôi chưa tự mình sử dụng.

Đối với "có đáng không?" Vâng, tôi có thể nói từ kinh nghiệm mà SWT làm cho nó tương đối dễ dàng, nhưng trừ khi ứng dụng của bạn có thể xử lý một cách duyên dáng với việc không có chúng, bằng cách dựa vào các thành phần COM, bạn sẽ mất khả năng chạy trên nhiều nền tảng khiến Java hấp dẫn ngay từ đầu .

4

Nó thực sự phụ thuộc vào số tiền bạn sẽ phải triển khai lại. Các Jacob project là khá tốt (chúng tôi sử dụng nó rộng rãi cho tự động hóa của Excel và Word), nhưng bạn phải thực sự hiểu COM để sử dụng nó, đặc biệt là các vagaries của giao diện IDispatch (rất ít người sử dụng ActiveX/COM thực sự hiểu COM - họ chỉ dựa vào việc tạo mẫu của Microsoft).

Nếu bạn đang cố gắng tiết kiệm cho mình một số cách gõ cho một số đối tượng DAO đơn giản, có thể bạn nên thực hiện lại tốt hơn (heck, bạn có thể lấy DTD và viết kịch bản để tạo mã Java cho nó) .