Path: csiph.com!usenet.pasdenom.info!news.albasani.net!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 23:32:52 -0500 Organization: A noiseless patient Spider Lines: 38 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 04:36:04 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="c50a9e5d554cfaba13eda1c71e805135"; logging-data="14055"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18gPL5j/0zE0ljTP7Ofqsm+GhDyRJODDiA=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 In-Reply-To: Cancel-Lock: sha1:UVjaY0ydH9HbzQXzyqrq7iE4804= Xref: csiph.com comp.lang.java.programmer:31027 On 02/02/2015 09:10 PM, Jeff Higgins wrote: > 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". And, after all of this, is there a gate at the other end of the pipeline you can close? Let your user click as furiously as he wishes; just don't accept his clicks?