Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #29576

Re: UIDefaults key?

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From Eric Sosman <esosman@comcast-dot-net.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: UIDefaults key?
Date Wed, 06 Aug 2014 13:31:21 -0400
Organization A noiseless patient Spider
Lines 31
Message-ID <lrtopb$tth$1@dont-email.me> (permalink)
References <lrtkud$1ea$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Wed, 6 Aug 2014 17:31:23 +0000 (UTC)
Injection-Info mx05.eternal-september.org; posting-host="bd4e1cba8d8592bec5d5ed9e4537fbfd"; logging-data="30641"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX193SO0NdJ5VuisYqiAypd0A"
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.0
In-Reply-To <lrtkud$1ea$1@dont-email.me>
Cancel-Lock sha1:ciOJqNr2if3d0t4so6obwkEATgg=
Xref csiph.com comp.lang.java.programmer:29576

Show key headers only | View raw


On 8/6/2014 12:25 PM, Knute Johnson wrote:
> JComponent has a method, getUIClassID(),  to return the UIDefaults key
> for the ComponentUI subclass.  A JTextField returns a key of
> TextFieldUI.  A typical subclass is
> javax.swing.plaf.metal.MetalTextFieldUI.
>
> All the interesting details in the UIDefaults however use keys such as
> TextField.foreground, TextField.border, TextField.margin etc.  Is there
> any way to get the prefix, TextField, from the component other than
> stripping the UI off the end of the UIClassID?

     Climbing the class hierarchy from MetalTextFieldUI up to
BasicTextFieldUI, I find the method

     /**
      * Fetches the name used as a key to lookup properties through the
      * UIManager.  This is used as a prefix to all the standard
      * text properties.
      *
      * @return the name ("TextField")
      */
     protected String getPropertyPrefix() {
         return "TextField";
     }

... which sort of looks like what you're after.  (But I haven't
researched any other delegate classes, so it's possible they're
different.)

-- 
esosman@comcast-dot-net.invalid

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

UIDefaults key? Knute Johnson <eternal@knutejohnson.com> - 2014-08-06 09:25 -0700
  Re: UIDefaults key? Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-08-06 13:31 -0400
    Re: UIDefaults key? Knute Johnson <eternal@knutejohnson.com> - 2014-08-06 11:17 -0700
      Re: UIDefaults key? Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-08-06 14:38 -0400
        Re: UIDefaults key? Knute Johnson <eternal@knutejohnson.com> - 2014-08-06 13:00 -0700
          Re: UIDefaults key? Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-08-06 16:52 -0400

csiph-web