Nao consigo roda o BorderLayout

Bom eu peguei esse exemplo em um livro. e gostaria de saber como eu faço pra roda ele, pq no eclipse nao aparece nenhum erro…porem a tela nao aparece.

[code]
package tes;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class BorderLayoutDemo extends JFrame implements ActionListener,
LayoutManager {

private JButton buttons[];
private String nomes[] = { "Hide North", "Hide South", "Hide East",
		"Hide West", "Hide Center" };

private BorderLayoutDemo layout;
Container container = getContentPane();

public BorderLayoutDemo() {

	layout = new BorderLayoutDemo();

	container.setLayout(layout);

	buttons = new JButton[nomes.length];

	for (int count = 0; count < nomes.length; count++) {

		buttons[count] = new JButton(nomes[count]);
		buttons[count].addActionListener(this);
	}

	container.add(buttons[0], BorderLayout.NORTH);
	container.add(buttons[1], BorderLayout.SOUTH);
	container.add(buttons[2], BorderLayout.EAST);
	container.add(buttons[3], BorderLayout.WEST);
	container.add(buttons[4], BorderLayout.CENTER);

	container.setSize(300, 200);
	container.setVisible(true);
}


public void actionPerformed(ActionEvent event) {

	for (int count = 0; count < buttons.length; count++) {
		if (event.getSource() == buttons[count]) {
			buttons[count].setVisible(false);

		} else {
			buttons[count].setVisible(true);
		}

		layout.layoutContainer(getContentPane());
	}

}

@Override
public void addLayoutComponent(String name, Component comp) {
	// TODO Auto-generated method stub

}

@Override
public void layoutContainer(Container parent) {
	// TODO Auto-generated method stub

}

@Override
public Dimension minimumLayoutSize(Container parent) {
	// TODO Auto-generated method stub
	return null;
}

@Override
public Dimension preferredLayoutSize(Container parent) {
	// TODO Auto-generated method stub
	return null;
}

@Override
public void removeLayoutComponent(Component comp) {
	// TODO Auto-generated method stub

}
           	public  static void main(String[] args) {
	
	
	BorderLayoutDemo tela = new BorderLayoutDemo();
	tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	

}            

}[/code]

Espero ajuda.
Obrigado

Cara, eu nao sei quase nada de java…

mais eu tireir a palavra container das linhas 26 até a 46 e deu certo =D

e eu arranquei a linha 26, e na linha 28 eu deixei assim:

setLayout(new BorderLayout());

nao sei pq, mais depois disso, deu certo aqui…
se alguem mais experiente souber explicar o pq do codigo nao dar certo, pode ajudar…

=D