Como destroui um void

5 respostas
L

tipo…tenho um void que adiciona varios componentes…como eu faco para que quando eu clicar em um botão destrua todos os componentes que o void coloco??
Valeu

5 Respostas

J

“linh4res”:
tipo…tenho um void que adiciona varios componentes…como eu faco para que quando eu clicar em um botão destrua todos os componentes que o void coloco??
Valeu

Que tipo de componentes, de GUI? Por que se for, só adicionando null, não vai atualizar a tela…

Tem como vc explicar melhor? void, vc quer dizer um método, certo? Que tipo de componentes?

L

olha o codigo:

protected void iniciaComponentes()
	{
		try
		{
                        painel = new JPanel();
			painelbotoes = new JPanel();
			getContentPane().setLayout(new BorderLayout());
			getContentPane().add(painel, BorderLayout.CENTER);
			getContentPane().add(painelbotoes, BorderLayout.SOUTH);
			painelbotoes.setLayout(new FlowLayout());
			btnok = new JButton("Logar");
			btncancelar = new JButton("Cancelar");
			painelbotoes.add(btnok);
			painelbotoes.add(btncancelar);
			painel.setLayout(new GridBagLayout());
			btnok.addActionListener(new ActionListener()
			{
				public void actionPerformed(ActionEvent evt)
				{
                                        String usuario = tfusuario.getText();
                                        String senha = new String(pwsenha.getPassword());
                                        Login(usuario,senha);
                                }
			}
			);
			btncancelar.addActionListener(new ActionListener()
			{
				public void actionPerformed(ActionEvent evt)
				{
					System.exit(0);
				}
			}
			);
			addWindowListener(new WindowAdapter()
			{
				public void windowClosing(WindowEvent e)
				{
					dispose();
					System.exit(0);
				}
			}
			);
			lbusuario = new JLabel("Usuário:");
			lbusuario.setFont(new java.awt.Font("Tahoma",0,12));
			tfusuario = new JTextField(10);
			tfusuario.setFont(new java.awt.Font("Tahoma",2,12));
			lbsenha = new JLabel("Senha:");
			lbsenha.setFont(new java.awt.Font("Tahoma",0,12));
			pwsenha = new JPasswordField(10);
			pwsenha.setFont(new java.awt.Font("Tahoma",2,12));
			posicao = new GridBagConstraints();
			posicao.anchor = GridBagConstraints.WEST;
			add(painel,lbusuario,1,2,1,1,posicao);
			add(painel,lbsenha,2,2,1,1,posicao);
			posicao.anchor = GridBagConstraints.EAST;
			add(painel,tfusuario,1,2,1,1,posicao);
			add(painel,pwsenha,2,2,1,1,posicao);
                        tfusuario.requestFocus();
			pack();
		}
		catch (Exception e)
		{
			trataException(e);
		}
		setVisible(true);
	}

eu quero eu que quando eu clico num botão…esses componentes acima desaparecam
entendeu?
Valeu

C

Olá,
setVisible(false) em cada componente… ou setVisible(false) no JPanel!!!
Deve funcionar!!!

Falow!

R

ai que a gente sente falta do metodo destroy…

V

8O O método setVisible serve para você ocultar temporariamente um componente. Se você deseja removê-lo definitivamente em tempo de execução, deve chamar o remove(Component comp) no container onde seu componente estiver.

E como o JavaTeco disse, se desejar que o componente seja exterminado, é necessário retirar todas as referências a ele, seja atribuindo null, seja atribuindo referências para outros objetos. :wink:

Criado 28 de junho de 2004
Ultima resposta 29 de jun. de 2004
Respostas 5
Participantes 5