Nao consigo roda o BorderLayout

1 resposta
J

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.

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);
		
		

	}            
}

Espero ajuda.
Obrigado

1 Resposta

G

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

Criado 27 de março de 2008
Ultima resposta 27 de mar. de 2008
Respostas 1
Participantes 2