Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #31018
| From | Cecil Westerhof <Cecil@decebal.nl> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Disabling generated buttons |
| Organization | Decebal Computing |
| References | <874mr41ox9.fsf@Equus.decebal.nl> <87vbjkz9df.fsf@Equus.decebal.nl> <c11fb336-efde-4772-a5ae-1c0889dcd47e@googlegroups.com> |
| Date | 2015-02-02 20:25 +0100 |
| Message-ID | <87bnlcyv2h.fsf@Equus.decebal.nl> (permalink) |
Op Monday 2 Feb 2015 19:24 CET schreef FredK:
> On Monday, February 2, 2015 at 6:35:48 AM UTC-8, Cecil Westerhof wrote:
>> Op Monday 2 Feb 2015 13:24 CET schreef Cecil Westerhof:
>>
>>> I defined the following class:
>>> private enum Colours {
>>> Blue(Color.BLUE),
>>> Red(Color.RED),
>>> Orange(Color.ORANGE),
>>> Yellow(Color.YELLOW),
>>> Green(Color.GREEN),
>>> Cyan(Color.CYAN),
>>> Magenta(Color.MAGENTA),
>>> Brown(new Color(0x9C, 0x5D, 0x52)),
>>> ;
>>>
>>> private final Color value;
>>>
>>> Colours(Color value) {
>>> this.value = value;
>>> }
>>>
>>> public Color value() {
>>> return value;
>>> }
>>> }
>>>
>>> I use it to add some (Swing) buttons:
>>> for(int i = 0; i < Colours.values().length; ++i) {
>>> final Colours colour = Colours.values()[i];
>>>
>>> JButton jButton = new JButton("" + colour);
>>>
>>> add(jButton, gbc);
>>> jButton.addActionListener(new ActionListener() {
>>> public void actionPerformed(ActionEvent e) {
>>> checkColour(colour);
>>> }
>>> });
>>> gbc.gridx++;
>>> if( gbc.gridx == 3 ) {
>>> gbc.gridy++;
>>> gbc.gridx = 0;
>>> }
>>> }
>>>
>>> Those buttons are used to select a colour. But when the wrong
>>> colour is selected I want to disable all the buttons for half a
>>> second. (Otherwise people could just click very fast at random.)
>>> How would I do this?
>>
>> I hoped that there was a 'smart' way, but probably not. So I
>> implemented it in the 'dumb' way.
>>
>> I created a variable to hold them all: private JButton
>> colourButtons[] = new JButton[Colours.values().length];
>>
>> I changed the generating into:
>> for(int i = 0; i < Colours.values().length; ++i) {
>> final Colours colour = Colours.values()[i];
>>
>> JButton jButton = new JButton("" + colour);
>>
>> colourButtons[i] = jButton;
>> add(jButton, gbc);
>
> 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.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Disabling generated buttons Cecil Westerhof <Cecil@decebal.nl> - 2015-02-02 13:24 +0100
Re: Disabling generated buttons Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 07:47 -0500
Re: Disabling generated buttons Cecil Westerhof <Cecil@decebal.nl> - 2015-02-02 14:03 +0100
Re: Disabling generated buttons Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 08:26 -0500
Re: Disabling generated buttons Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 08:48 -0500
Re: Disabling generated buttons Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 09:06 -0500
Re: Disabling generated buttons Cecil Westerhof <Cecil@decebal.nl> - 2015-02-02 15:17 +0100
Re: Disabling generated buttons Cecil Westerhof <Cecil@decebal.nl> - 2015-02-02 15:16 +0100
Re: Disabling generated buttons FredK <fred.l.kleinschmidt@gmail.com> - 2015-02-02 10:24 -0800
Re: Disabling generated buttons Cecil Westerhof <Cecil@decebal.nl> - 2015-02-02 20:25 +0100
Re: Disabling generated buttons Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 19:29 -0500
Re: Disabling generated buttons Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 19:35 -0500
Re: Disabling generated buttons Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 20:42 -0500
Re: Disabling generated buttons Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 21:10 -0500
Re: Disabling generated buttons Jeff Higgins <jeff@invalid.invalid> - 2015-02-02 23:32 -0500
csiph-web