0

我正在开发一个带有自定义 UI 的 Java 应用程序,并且我正在使用 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"/>

我认为插图正在工作,但是当我的鼠标悬停在滚动条上时,它只是保持黑色。

还有一件奇怪的事。我首先将这种“默认样式”应用于所有地区。滚动条的行为与默认样式(包括鼠标悬停)的预期方式相同。但是当我将这种特殊样式应用到滚动条时,它就停止工作了。并且在应用此特定样式后,默认区域样式也将停止工作。所以滚动条只是保持黑色......

你有什么想法为什么?

任何帮助将不胜感激 :)

4

1 回答 1

1

我对此也有点陌生,但我的猜测可能与状态值有关。如果您不指定状态值(即 MOUSE_OVER),则它将成为默认值。只有在没有其他状态值的情况下激活它们时才会使用其他值。例如,如果您指定了一个被鼠标悬停的按钮的值,然后是被按下的按钮的值,那么被按下的按钮的值将永远不会被使用,因为每当它被按下时,显然它也被鼠标悬停。我会检查是否是这样的事情导致了问题。我还发现了一个线程,有人有类似的问题,但它是在实际的 java 代码中引起的,而不是 xml。http://forums.oracle.com/forums/thread.jspa?threadID=2225033&tstart=75

祝你好运 :D 抱歉,我帮不上忙

于 2011-06-09T17:12:44.267 回答