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


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

Re: UIDefaults key?

From Eric Sosman <esosman@comcast-dot-net.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: UIDefaults key?
Date 2014-08-06 14:38 -0400
Organization A noiseless patient Spider
Message-ID <lrtso6$t3s$1@dont-email.me> (permalink)
References <lrtkud$1ea$1@dont-email.me> <lrtopb$tth$1@dont-email.me> <lrtrgc$jcu$1@dont-email.me>

Show all headers | View raw


On 8/6/2014 2:17 PM, Knute Johnson wrote:
> On 8/6/2014 10:31, Eric Sosman wrote:
>> 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.)
>>
>
> I think that is the answer Eric but I just not sure how to get there
> from here yet :-).

     Sorry: I somehow thought you already had your hands on an instance
of the ComponentUI subclass -- But now I think you've got nothing but a
JComponent object.  Also, I see that the method I stumbled upon is
defined for some ComponentUI subclasses, but not for all.

     Perhaps it's time to take a step back and think about the eventual
goal rather than about one particular (and possibly unworkable) route
toward it.  What problem are you trying to solve?

-- 
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