Ir para conteúdo
Fórum Script Brasil
  • 0

Vetor de Objetos


Darknnez

Pergunta

Olá.

Gostaria de saber se é possível criar um vetor de objetos no NetBeans, e usar uma única chamada de um determinado evento para todos os objetos desse vetor.

Por exemplo:

Se eu tiver um jLabel chamado label1 e quiser mudar a cor do BackGround desse jLabel para vermelho quando passar o mouse por cima dele, eu faria o seguinte:

private void label1MouseMoved(java.awt.event.MouseEvent evt) {
     label1.setBackground(Cor.red);
}
Certo? O que eu quero é um vetor de jLabel de tamanho n, chamado label[n] e que o evento "MouseMoved" do objeto jLabel valha para todas as posições do vetor. Mas ou menos da seguinte forma:
private void labelMouseMoved(java.awt.event.MouseEvent evt, int index) {
     label[index].setBackground(Cor.red);
}

Onde "index", obviamente, é a posição do vetor que indica qual é a jLabel que eu passei o mouse em cima. No caso, esse jLabel deve ter a cor de seu BackGround mudada para vermelho.

É possível fazer isso, ou algo parecido?

Obrigado.

Editado por Darknnez
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Olá.

Gostaria de saber se é possível criar um vetor de objetos no NetBeans, e usar uma única chamada de um determinado evento para todos os objetos desse vetor.

Por exemplo:

Se eu tiver um jLabel chamado label1 e quiser mudar a cor do BackGround desse jLabel para vermelho quando passar o mouse por cima dele, eu faria o seguinte:

private void label1MouseMoved(java.awt.event.MouseEvent evt) {
     label1.setBackground(Cor.red);
}
Certo? O que eu quero é um vetor de jLabel de tamanho n, chamado label[n] e que o evento "MouseMoved" do objeto jLabel valha para todas as posições do vetor. Mas ou menos da seguinte forma:
private void labelMouseMoved(java.awt.event.MouseEvent evt, int index) {
     label[index].setBackground(Cor.red);
}
Onde "index", obviamente, é a posição do vetor que indica qual é a jLabel que eu passei o mouse em cima. No caso, esse jLabel deve ter a cor de seu BackGround mudada para vermelho. É possível fazer isso, ou algo parecido? Obrigado.
Sim é possível sim!
JLabel rotulos[] = new JLabel[n];
for(final JLabel rotulo : rotulos){
    rotulo.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseMoved(MouseEvent me) {
        rotulo.setBackground(Color.yellow);
    }    
    });
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...