Salve a tutti avrei un problema con questo programmino:

il progrmma è una finestra che cambia colore a caso e ho aggiunto un pulsante che quando viene cliccato dovrebbe interrompere l'aggiornamento della finestra.. solo che da errore mentre se provo a far stampare uun messaggio funziona, per caso sapete cosa mi sto dimenticando? grazie.

codice:
public class FrameWithGridLayout extends JFrame {

	
	private static class MyButtonListener implements ActionListener {
		public void actionPerformed(ActionEvent evt) {
			
			// break;
						
			}
	}
	
	
	public static void main(String[] args) {
		new FrameWithGridLayout("Here I am!");
	}

	public FrameWithGridLayout(String title) {
		super(title);

		// indichiamo le nostre dimensioni
		setBounds(100, 200, 300, 400);
		setLayout(new GridLayout(4, 4));
		
		JButton b = new JButton();
		b.setSize(50,50);
		MyButtonListener listener = new MyButtonListener();
		b.addActionListener(listener);
		getContentPane().add(b);
		// indichiamo cosa deve accadere quando si clicca sul pulsante di chiusura:
		// il programma deve essere terminato
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// don't be shy!
		setVisible(true);

		// adesso giochiamo: modifichiamo il nostro colore ciclicamente
		int red = 0, green = 96, blue = 192;
		while (true) {
			// chiedo di cambiare colore di background al content pane
			// che contiene il corpo della finestra
			getContentPane().setBackground(new Color(red++ % 256, green++ % 256, blue++ % 256));

			
		}
	}

	
}