javax.swing.plaf.nimbus

Class NimbusStyle


  • public final class NimbusStyle
    extends SynthStyle

    A SynthStyle implementation used by Nimbus. Each Region that has been registered with the NimbusLookAndFeel will have an associated NimbusStyle. Third party components that are registered with the NimbusLookAndFeel will therefore be handed a NimbusStyle from the look and feel from the #getStyle(JComponent, Region) method.

    This class properly reads and retrieves values placed in the UIDefaults according to the standard Nimbus naming conventions. It will create and retrieve painters, fonts, colors, and other data stored there.

    NimbusStyle also supports the ability to override settings on a per component basis. NimbusStyle checks the component's client property map for "Nimbus.Overrides". If the value associated with this key is an instance of UIDefaults, then the values in that defaults table will override the standard Nimbus defaults in UIManager, but for that component instance only.

    Optionally, you may specify the client property "Nimbus.Overrides.InheritDefaults". If true, this client property indicates that the defaults located in UIManager should first be read, and then replaced with defaults located in the component client properties. If false, then only the defaults located in the component client property map will be used. If not specified, it is assumed to be true.

    You must specify "Nimbus.Overrides" for "Nimbus.Overrides.InheritDefaults" to have any effect. "Nimbus.Overrides" indicates whether there are any overrides, while "Nimbus.Overrides.InheritDefaults" indicates whether those overrides should first be initialized with the defaults from UIManager.

    The NimbusStyle is reloaded whenever a property change event is fired for a component for "Nimbus.Overrides" or "Nimbus.Overrides.InheritDefaults". So for example, setting a new UIDefaults on a component would cause the style to be reloaded.

    The values are only read out of UIManager once, and then cached. If you need to read the values again (for example, if the UI is being reloaded), then discard this NimbusStyle and read a new one from NimbusLookAndFeel using NimbusLookAndFeel.getStyle.

    The primary API of interest in this class for 3rd party component authors are the three methods which retrieve painters: #getBackgroundPainter, #getForegroundPainter, and #getBorderPainter.

    NimbusStyle allows you to specify custom states, or modify the order of states. Synth (and thus Nimbus) has the concept of a "state". For example, a JButton might be in the "MOUSE_OVER" state, or the "ENABLED" state, or the "DISABLED" state. These are all "standard" states which are defined in synth, and which apply to all synth Regions.

    Sometimes, however, you need to have a custom state. For example, you want JButton to render differently if it's parent is a JToolbar. In Nimbus, you specify these custom states by including a special key in UIDefaults. The following UIDefaults entries define three states for this button:

    
         JButton.States = Enabled, Disabled, Toolbar
         JButton[Enabled].backgroundPainter = somePainter
         JButton[Disabled].background = BLUE
         JButton[Toolbar].backgroundPainter = someOtherPaint
     

    As you can see, the JButton.States entry lists the states that the JButton style will support. You then specify the settings for each state. If you do not specify the JButton.States entry, then the standard Synth states will be assumed. If you specify the entry but the list of states is empty or null, then the standard synth states will be assumed.

    • Method Detail

      • installDefaults

        public void installDefaults(SynthContext ctx)
        Description copied from class: SynthStyle
        Installs the necessary state from this Style on the JComponent from context.
        Overrides:
        installDefaults in class SynthStyle
        Parameters:
        ctx - SynthContext identifying component to install properties to.
      • getInsets

        public Insets getInsets(SynthContext ctx,
                       Insets in)
        Description copied from class: SynthStyle
        Returns the Insets that are used to calculate sizing information.
        Overrides:
        getInsets in class SynthStyle
        Parameters:
        ctx - SynthContext identifying requester
        in - Insets to place return value in.
        Returns:
        Sizing Insets.
      • getColorForState

        protected Color getColorForState(SynthContext ctx,
                             ColorType type)
        Description copied from class: SynthStyle
        Returns the color for the specified state. This should NOT call any methods on the JComponent.
        Specified by:
        getColorForState in class SynthStyle
        Parameters:
        ctx - SynthContext identifying requester
        type - Type of color being requested.
        Returns:
        Color to render with
      • getFontForState

        protected Font getFontForState(SynthContext ctx)
        Description copied from class: SynthStyle
        Returns the font for the specified state. This should NOT call any method on the JComponent.
        Specified by:
        getFontForState in class SynthStyle
        Parameters:
        ctx - SynthContext identifying requester
        Returns:
        Font to render with
      • getPainter

        public SynthPainter getPainter(SynthContext ctx)
        Description copied from class: SynthStyle
        Returns the SynthPainter that will be used for painting. This may return null.
        Overrides:
        getPainter in class SynthStyle
        Parameters:
        ctx - SynthContext identifying requester
        Returns:
        SynthPainter to use
      • isOpaque

        public boolean isOpaque(SynthContext ctx)
        Description copied from class: SynthStyle
        Returns true if the region is opaque.
        Overrides:
        isOpaque in class SynthStyle
        Parameters:
        ctx - SynthContext identifying requester
        Returns:
        true if region is opaque.
      • get

        public Object get(SynthContext ctx,
                 Object key)
        Description copied from class: SynthStyle
        Getter for a region specific style property.
        Overrides:
        get in class SynthStyle
        Parameters:
        ctx -
        key - must not be null
        Returns:
        Value of the named property
      • getBackgroundPainter

        public Painter getBackgroundPainter(SynthContext ctx)
        Gets the appropriate background Painter, if there is one, for the state specified in the given SynthContext. This method does appropriate fallback searching, as described in #get.
        Parameters:
        ctx - The SynthContext. Must not be null.
        Returns:
        The background painter associated for the given state, or null if none could be found.
      • getForegroundPainter

        public Painter getForegroundPainter(SynthContext ctx)
        Gets the appropriate foreground Painter, if there is one, for the state specified in the given SynthContext. This method does appropriate fallback searching, as described in #get.
        Parameters:
        ctx - The SynthContext. Must not be null.
        Returns:
        The foreground painter associated for the given state, or null if none could be found.
      • getBorderPainter

        public Painter getBorderPainter(SynthContext ctx)
        Gets the appropriate border Painter, if there is one, for the state specified in the given SynthContext. This method does appropriate fallback searching, as described in #get.
        Parameters:
        ctx - The SynthContext. Must not be null.
        Returns:
        The border painter associated for the given state, or null if none could be found.

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 11/06/2005, zuletzt geändert 04/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-rf-javax/swing/plaf/nimbus/NimbusStyle.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Referenzen

  1. Zeigen Sie - html-Dokument Sprache des Dokuments:fr Manuel PHP : https://docs.oracle.com

Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.

Inhaltsverzeichnis Haut