2009-07-21 23 views

Trả lời

5

Theo như tôi có thể nói bạn cần một ILabelDecorator và cách duy nhất dễ dàng để có được một là sử dụng giao diện người dùng workbench:

viewer.setLabelProvider(
    new DecoratingLabelProvider(new MyPlainLabelProvider(), 
      PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); 

Sau đó bạn cần phải thêm trang trí nhẹ của bạn đến điểm trang trí mở rộng trong plugin.xml. Rõ ràng, điều này sẽ chỉ hoạt động nếu ứng dụng của bạn là một plugin eclipse.

Có vẻ kỳ lạ là ILightweightDecorator nằm trong JFace, nhưng để sử dụng nó, bạn cần một trình quản lý trang trí chỉ được triển khai trong org.eclipse.ui. Có vẻ như không phải là một cách dễ dàng để làm điều này trực tiếp hơn mặc dù.

0

Có một số cũ Eclipse.org article dựa trên Eclipse 2.1 cung cấp tóm tắt tốt đẹp về cách tiếp cận trang trí nhẹ. Tất nhiên nhiều chi tiết thực hiện đã thay đổi nhưng các khái niệm vẫn giữ nguyên.

Khi bạn nói dây trang trí "trực tiếp cho người xem", bạn có nghĩa là tránh tuyên bố nó làm điểm mở rộng và yêu cầu trang trí của bạn áp dụng cho biểu tượng/văn bản hoặc tương tự không?

Để áp dụng lớp phủ hình ảnh, bạn có thể làm theo cách tiếp cận trong phần "Hình ảnh lớp phủ" của bài viết. Vì vậy, trước tiên hãy vẽ hình ảnh cơ sở, sau đó lấy ImageData cho lớp phủ và vẽ dữ liệu ở các tọa độ dự định.

Nếu bạn có vấn đề cụ thể hơn không được đề cập trong bài viết, bạn có thể xây dựng trên câu hỏi ban đầu của mình bằng ví dụ về những gì bạn đang cố gắng đạt được không?