Redimensionar um JButton

Ola Pessoal.

Estou com um problema com JButton, Quero redimensiona-los para que fiquem do mesmo tamanho. Já testei setSize(), setMinimumSize(), setPreferedSize() mas não funcionaram, os botões simplesmente não mudam. Segue o código

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;

public class Monitor extends JFrame
{
	private JTextField buffer;
	private JButton[] consumers;
	private JButton producer;
	
	public Monitor()
	{
		super("Monitor");
		
		//Inicia o Layout
		setLayout( new FlowLayout() );
		
		//cria o JTextField
		buffer = new JTextField("10 10 10 10 10 10 10 10");
		buffer.setColumns( 12 );
		add(buffer);
		
		//Cria os botoes
		consumers = new JButton[5];
		
		for( int i = 0; i < 5; i++)
		{
			consumers[i] = new JButton("Consumer" + i);
			add(consumers[i]);
			consumers[i].setSize( new Dimension( 40, 40 ) );
		}
		
		producer = new JButton("Producer");
		producer.setSize( new Dimension( 40, 40 ) );
		add( producer );
		
		//Configura o frame
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		setSize( 150, 250 );
		setResizable( false );
		setVisible( true );
	}
	
	public static void main( String[] args )
	{
		Monitor monitor = new Monitor();
	}
}

Talvez seja melhor usar um GridLayout colocando ao invés de um FlowLayout. Não sei se o FlowLayout vai levar em consideração qualquer um dos tamanhos configurados do componente (min, max ou preferido).
Tente:

setLayout( new GridLayout( {numeroDeLinhas}, {numeroDeColunas}, {espaçoHorizontalEntreComponentes}, {espacoVertical} ) );  

O GridLayout irá ocupar todo o espaço disponível para cada grid. Isso irá fazer todos os componentes ficarem do mesmo tamanho.

exato. tente, por favor, outro layout.

Opa. Mudei para GridLayout e funcionou. Obrigado.

usa o サイズ変更ボタン

é melhor usar nenhum gerenciador de layout e mandar no setBounds mesmo