1

私のアプリケーションには、カスタムテキスト/アイコンレイアウトを持ついくつかのカスタムボタンと、通常はボタンに関連付けられていないいくつかの追加要素があります。たとえば、1つではなく2つのテキストラベルがあるものもあります。

カスタムボタンを次のように実装しました。

class CustomButton extends JPanel implements MouseListener {
    CustomButton() {
        setName("CustomButton");
    }
}

L&FにSynthを使用していますが、できるだけ多くのスタイル情報(主に色設定)をXMLファイルで定義したいと思います。

XMLファイルには次のようなものがあります。

<style id="customButtonStyle">
    <state>
        <color idref="A" type="BACKGROUND" />
    </state>
    <state value="MOUSE_OVER">
        <color idref="B" type="BACKGROUND" />
    </state>
    <state value="PRESSED">
        <color idref="C" type="BACKGROUND" />
    </state>
</style>
<bind sytle="customButtonStyle" type="name" key="CustomButton" />

アプリを実行すると、色「A」は正しく使用されますが、色「B」と「C」は設定されません。

私の質問は、カスタムボタンの状態についてSynthに通知するにはどうすればよいですか?

余談ですが、CustomButton拡張機能を検討しましJButtonたが、カスタムサブコンポーネントを使用してボタンを作成するための適切な方法を見つけることができませんでした。このアプローチがうまくいかない場合は、別の質問として投稿する可能性があります。

4

1 に答える 1

2

あなたの質問への答えではないかもしれませんが、MouseListener と MouseMotionListener のように、ButtonModel の使用がより快適だ思います私のアイデアの例はこちらです

于 2011-10-14T14:44:41.753 に答える