2011-04-26 87 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对不起,我无法再帮忙