Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.swapon.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Jeff Higgins Newsgroups: comp.lang.java.programmer Subject: Re: Disabling generated buttons Date: Mon, 02 Feb 2015 21:10:32 -0500 Organization: A noiseless patient Spider Lines: 31 Message-ID: References: <874mr41ox9.fsf@Equus.decebal.nl> <87vbjkz9df.fsf@Equus.decebal.nl> <87bnlcyv2h.fsf@Equus.decebal.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 3 Feb 2015 02:13:43 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="c50a9e5d554cfaba13eda1c71e805135"; logging-data="27980"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19dFCzdVvNpEOpTUdi2vLyl+JBt3M3mdmM=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 In-Reply-To: Cancel-Lock: sha1:HzGLPtOLOTfJ5TnLFUQChNTEAZU= Xref: csiph.com comp.lang.java.programmer:31025 On 02/02/2015 08:42 PM, Jeff Higgins wrote: > On 02/02/2015 07:35 PM, Jeff Higgins wrote: >> On 02/02/2015 07:29 PM, Jeff Higgins wrote: >>> On 02/02/2015 02:25 PM, Cecil Westerhof wrote: >>>> Op Monday 2 Feb 2015 19:24 CET schreef FredK: >>>>> >>>>> The above add() saves the buttons, so now you are saving them in two >>>>> places. Presumably "this" is some kind of JPanel. The buttons you >>>>> added are available by calling this.getComponents() >>>> >>>> The buttons are on a JFrame, but there are other buttons also on >>>> the JFrame and only the Colour buttons should be disabled. That is why >>>> I use the array. But I look into a cleaner solution. >>>> >>> Another shrug. >>> Component.getClientProperty(Object key) >>> Component.putClientProperty(Object key, Object value) >>> >> But probably as expensive memory-wise as an array of references. >> And certainly more expensive code-complexity-wise. >> > You could use the button's text as a distinguishing feature, > but the way that you've shown: > new JButton("" + colour); > is guaranteed by the api to be implementation dependent. > My implementation sets the button text to "java.awt.Color[r=0,g=0,b=255]". > The complexity of a "smart" solution vs the small memory > overhead of the "dumb" solution. > This is what I meant by "MagicButton". Perhaps I should have used "SmartButton".