2015-02-24 61 views
0

我想在eclipse JFace上運行一個例子來填充涉及treeview的目錄結構。通過執行代碼,我得到的是這樣的:帶擴展標記「+」和「 - 」的Eclipse JFace TreeViewer

Current Output

這很好,目錄結構正確填充。但是,正如你可以注意到,在我移動光標前,如果當前選擇是「文件」或「目錄」,則無法區分,然後TreeView會顯示一個「>」符號來告訴我這是否是目錄。凡爲我想要的東西更直觀像一個「+」號指定所有項目(不注重TreeView控件),它是這樣的:

Required View

是否有人可以指導我如何來達到同樣的?我使用eclipse Kelper,Windows 7 x64。

+0

[This answer here](http://stackoverflow.com/a/16844497/1740724)可能是一個選項。但請注意,這是操作系統特定的,即我在Linux上嘗試過它,並沒有像預期的那樣工作,但在Windows上至少它看起來工作正常。 – Baz 2015-02-24 09:26:57

+0

我試過了,但顯然SWT/System仍然在提供的圖像上繪製自己的擴展器(一個小三角形)。 – 2015-02-24 10:50:04

回答

0

總之:您不能更改擴展標記的外觀。

JFace TreeViewer使用SWT Tree小部件來顯示其數據。 SWT依次訪問操作系統的本地UI庫,因此小部件的外觀由相應的本地UI庫控制。

+0

那麼這意味着它不可能?我的意思是沒有辦法達到預期的行爲? – 2015-02-24 09:20:23

+0

它完全違背了SWT的設計,依靠本土的外觀和感覺。你可以看一下'PaintListener'來看看它們是否提供了一種繪製除了TreeItem的實際內容之外的東西。或者訴諸另一個UI工具包,它可以讓您在創建小部件時有更多的自由。 – 2015-02-24 10:01:32

+0

我可以將它們更改爲始終可見(如果該項目有孩子)。這仍然可以解決我的問題。目前,只要焦點轉移到另一個窗口小部件/窗口,「標記」就會隱藏起來。我希望它留在那裏。任何線索? – 2015-02-25 06:09:01