2011-04-26 83 views
0

我正在開發一個自定義用戶界面的Java應用程序,我正在使用Java Synth來實現這一點。目前我正在手動開發xml文件。你認爲這是做這件事的好方法,還是我應該使用特定的軟件?使用Java Synth xml文件自定義組件?

無論如何,我已經成功配置了一些組件,如列表。我有這樣的代碼在我的XML列表中:

<style id="listStyle"> 
    <insets top="1" left="1" right="1" bottom="1"/> 
    <state> 
     <color value="#323232" type="BACKGROUND"/> 
     <color value="WHITE" type="FOREGROUND"/> 
     <color value="#00BAFF" type="TEXT_BACKGROUND"/> 
     <color value="BLACK" type="TEXT_FOREGROUND"/> 
    </state> 
</style>  
<bind style="listStyle" type="region" key="LIST"/> 

這工作得很好。接下來,我想我的配置滾動條:

<style id="scrollBarStyle"> 
    <insets top="2" left="2" right="2" bottom="2"/> 
    <state> 
     <color value="BLACK" type="BACKGROUND"/> 
    </state> 
    <state value="MOUSE_OVER"> 
     <color value="BLUE" type="BACKGROUND"/> 
    </state> 
</style> 
<bind style="scrollBarStyle" type="region" key="SCROLLBARTHUMB"/> 

我認爲插圖是工作,但是當我的鼠標在滾動條,它只是保持黑色。

還有另外一件奇怪的事情。我有這個「默認風格」,我首先適用於所有地區。滾動條的行爲方式與默認樣式(鼠標懸停)相同。但是,當我將這種特殊風格應用於滾動條時,它停止工作。並且在應用此特定樣式後,默認區域樣式也停止工作。所以滾動條只是保持黑色...

你有什麼想法爲什麼?

任何幫助,將不勝感激:)

回答

1

我是那種對於新手,這個太,但我的猜測是一些相關的狀態值。如果你沒有指定一個狀態值(即MOUSE_OVER),那麼它就成爲默認值。其他值只有在沒有其他狀態值被激活的情況下才會使用。例如,如果你指定了被按下的按鈕的值,然後按下了該按鈕的值,則被按下的按鈕的值將永遠不會被使用,因爲無論何時它被按下,顯然它也被隱藏起來。我會檢查是否有這樣的事情導致問題。我還發現了一個線程,其中有人有類似的問題,但它是由實際的java代碼而不是xml引起的。 http://forums.oracle.com/forums/thread.jspa?threadID=2225033&tstart=75

祝您好運:D對不起,我無法再幫忙