簡體   English   中英

我可以讓OwnerDrawLabelProvider在單元外部繪制嗎?

[英]Can I get OwnerDrawLabelProvider to draw outside of the cell?

我的Eclipse RCP應用程序中有一個Jface TableViewer,其列全部由OwnerDrawLabelProviders繪制。 現在,我的單元格都按照我想要的方式繪制,但是我無法使用OwnerDrawLabelProvider在當前繪制的單元格之外繪制任何內容。

我在下面說明了這個問題。 如果正在繪制具有綠色背景的單元格,而我試圖在整個表格上繪制一條紅線,則退出該單元格后,紅線將停止繪制。

在此處輸入圖片說明

我以為這里發生的是其他單元格都在紅線上方繪制,但我通過在接下來的步驟中停用paint(),measure()和delete()方法來表明情況並非如此柱。 相反,我認為正在發生的情況是,表格離開單元格后,該表格將我的紅線隱藏在較低的顯示層中。

有沒有辦法使用OwnerDrawLabelProvider在單元格外部進行繪制? 我有一個解決方法,即在將要繪制的每個單元格中發出相同的繪制命令,但這非常丑陋,並且可能導致性能問題。

傳遞給繪制/測量/擦除方法的GC的裁剪區域僅設置為當前單元格。 您在裁剪區域之外的GC上執行的任何繪制操作都將被忽略。

您可以嘗試調用GC.setClipping方法來更改剪切區域,但是仍然可能會遇到覆蓋問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM