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
Como destroui um void
5 Respostas
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?
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
Olá,
setVisible(false) em cada componente… ou setVisible(false) no JPanel!!!
Deve funcionar!!!
Falow!
ai que a gente sente falta do metodo destroy…
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. 