-
Notifications
You must be signed in to change notification settings - Fork 0
UIResource
Diese Schnittstelle hat keine Implementierung und wird ausschließlich zum Markieren von Ressourcenobjekten verwendet.
Beispiele findet man in package javax.swing.plaf
:
public class InsetsUIResource extends Insets implements UIResource ...
public class FontUIResource extends Font implements UIResource ...
public class IconUIResource implements Icon, UIResource, Serializable {
private Icon delegate;
...
public class BorderUIResource implements Border, UIResource, Serializable ...
public class ColorUIResource extends Color implements UIResource ...
Sie sind Subklassen des Objekts, das die Resource bereitstellt InsetsUIResource extends Insets
oder sie delegieren als Wrapper-Klassen (IconUIResource
). Diese Klassen werden zum Zuweisen von Ressourcen verwendet, die freigegeben werden, wenn der UI-Delegierte einer Komponente geändert wird.
Mit anderen Worten: Wenn wir einer Instanz von JLabel
einen Hintergrund von Color.Yellow
zuweisen würden, bliebe diese Hintergrundeinstellung auch bei einer Änderung des UI-Delegierten bestehen. Wenn wir diesem JLabel
jedoch einen Hintergrund von new ColorUIResource(Color.Yellow)
zuweisen, bleibt der Hintergrund nur so lange bestehen, bis ein anderer UI-Delegierter installiert wird. Wenn der nächste UI-Delegierte installiert wird, erhält das Label einen neuen Label-Hintergrund basierend auf L&F, zu dem der neue UI-Delegierte gehört.
Neben den "einfachen" Resource-Klassen aus package javax.swing.plaf
gibt es auch komplexere, oft als inner-Klassen versteckt:
// inner class javax.swing.DefaultListCellRenderer.UIResource
public static class UIResource extends DefaultListCellRenderer implements UIResource {
public UIResource() {}
}
---
// inner class javax.swing.plaf.basic.BasicComboBoxEditor.UIResource
public static class UIResource extends BasicComboBoxEditor implements UIResource {
public UIResource() {}
}
Algorithmus : eine Sammlung von Algorithmen in java, von Euklid bis RSA
AutoComplete : package bzw. class zur Autovervollständigung in Text Komponenten
Batik : Subprojekt von Apache XML Graphics Project
BSAF : Better Swing Application Framework
BuddySupport : erweitert Textkomponenten
Color : Farben im Farbkreis, Farbraum
Collection views : zu den SwingX collection views gehören JXList, JXTree, JXTable und JXTreeTable
ComboBox : allgemein (Wikipedia)
Demos : Demos-doku, github repo: SwingSet3-demos
dependences : projects in SwingSet3
EDT : Event Dispatch Thread
GPX : GPS Exchange Format - ein XML-Datenformat mit Geo-Ortspunkten, -Routen und -Tracks
GUI : Graphical User Interface, Benutzeroberfläche, allgemein, siehe auch L&F (Look&Feel)
GVT : Batik Graphics Vector Tree (GVT) gehört zu Apache XML Graphics Project
JDNC : Java Desktop Network Component, s. BSAF
JPMS : Java Platform Module System, aka Modulsystem Jigsaw
JTextComponent, JTextField, JTextArea : siehe Prompt- und BuddySupport
Kenai : History of SwingLabs
L&F : als Look&Feel wird das Aussehen und Verhalten der Benutzeroberfäche bezeichnet.
LazyValue : TODO siehe MetalButtonPainterIssues
List, JList, JXList : Listen von Werten darstellen List, JList, JXList
Nimbus : Mit Java 1.6 wurde das cross-platform Look-and-Feel eingeführt. Es wird per properties konfiguriert, siehe Nimbus-UI-defaults
OSSRH : Open Source Software Repository Hosting, zentrales öffentliches Repository für Artefakte: Central-OSSRH
PLAF : steht für Pluggable Look And Feel
PromptSupport : erweitert Textkomponenten
public key server : siehe distributing-your-public-key
Renderer : die Darstellung von mehr oder weniger komplexen Objekten auf der Benutzeroberfäche im gewählten Look&Feel
SAM
: Single Abstract Method interface, Beispiel StringValue
SVG : Scalable Vector Graphics, XML-Beschreibung von Vektorgrafiken
SwingLabs : History of SwingLabs
SwingSet2 : github repo: SwingSet2-demos
SwingSet3 : github repo: SwingSet3, SwingSet3-demos
SwingX
: package org.jdesktop.swingx
SwingX
Synth : Seit Java 1.5 gibt es das Synth-Look-and-Feel, dessen Erscheinungsbild in einer XML-Datei beschrieben wird, s. Nimbus
Table
: JXTable (de) erweitert javax.swing.JTable
Tests : Tests (de)
TextComponent : siehe Prompt- und BuddySupport
Tree
: JXTree (de) erweitert javax.swing.JTree
TreeTable : JXTreeTable (de) ist ein Zwitter mit Eigenschaften von Tree und Table
Trident : Trident animation library (de)
UI : User Interface, Benutzerschnittstelle, allgemein, siehe auch GUI, L&F (Look&Feel)