Ultimate Swing, Teil 23
Ist Ihnen aufgefallen, dass ich im XML-File meines Look and Feels den Link auf den zugehörigen Artikel in den Java Tutorials versteckt habe? Das Dateiformat hat eine eigene Beschreibung. Mein Tipp: übernehmen Sie diesen Pfad in Ihre XML-Datei, dann müssen Sie nie lange suchen. Wenn Sie sich meine Beispiel-Datei aus dem letzten Post ansehen, stellen Sie fest, dass die meiste Arbeit innerhalb von -Elementen gemacht wird. Dann gibt es noch das Element
<!-- Default-Style -->
<style id="backingStyle">
<opaque value="TRUE" />
<font name="Verdana" size="16"/>
<state>
<color type="BACKGROUND" value="#f8f8f8" />
<color type="FOREGROUND" value="#ffa000" />
</state>
</style>
<bind style="backingStyle" type="region" key=".*" />
Auf diese Weise erhält eine Region zumindest Informationen zu Vorder- und Hintergrundfarbe sowie Schriftart und –größe. In meinem Beispiel profitieren Eingabe- und Ankreuzfelder davon – sie wurden (noch) nicht explizit deklariert. Wenn Sie LAFTester starten und mit der Maus über eine der beiden Schaltflächen fahren, verändert sich ihre Farbe. Warum das so ist, wird deutlich, wenn wir uns nochmals den korrespondierenden Stil ansehen:
<style id="buttonStyle">
<opaque value="TRUE" />
<insets top="10" left="10" bottom="10" right="10" />
<state>
<color type="FOREGROUND" value="WHITE" />
<color type="BACKGROUND" value="#808080" />
</state>
<state value="PRESSED">
<color type="BACKGROUND" value="BLACK" />
</state>
<state value="MOUSE_OVER">
<color type="BACKGROUND" value="#505050" />
</state>
<state value="DISABLED">
<color type="BACKGROUND" value="#b0b0b0" />
</state>
</style>
Mit dem
p1.getComponents()[0].setEnabled(false);
This is a (slightly updated) repost of a piece I published on my blog Tommi’s Blog. I deleted the blog in the wake of the GDPR, so the original version is no longer available, or only through the WayBack Machine of the Internet Archive. Please note: code usually has not been updated, so language feature reflect the time the original post was written.