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


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

Re: Disabling generated buttons

Newsgroups comp.lang.java.programmer
Date 2015-02-02 10:24 -0800
References <874mr41ox9.fsf@Equus.decebal.nl> <87vbjkz9df.fsf@Equus.decebal.nl>
Message-ID <c11fb336-efde-4772-a5ae-1c0889dcd47e@googlegroups.com> (permalink)
Subject Re: Disabling generated buttons
From FredK <fred.l.kleinschmidt@gmail.com>

Show all headers | View raw


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()
-- 
Fred K

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


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