Colar imagem no ponto X,Y

2 respostas
R

Bom dia Pessoal.

Estou tentando fazer meu TCC e estou com uma duvida.
O tema do TCC é Desenvolvimento de Aplicativo de Notacao Musical.
O objetivo é escrever a partitura de uma musica.
Bom, quanto a parte grafica, esta funcionando da seguinte forma.

Tenho dois Frames. Um frame está com diversos botoes, cada botao tem uma imagem de uma nota musical.
A outra frame, colei uma imagem do pentagrama (linhas onde serao colocadas as notas musicais).
O procedimento deve ser realizado da seguinte forma:

  • Quando o usuario clicar no botao1 da frame “A” e depois clicar na posicao x,y do frame “B”, devera copiar uma imagem qualquer (“c:\figuras\teste.jpg”).

Desculpe a enrrolacao, mas minha duvida é de como faco para calcular a posicao x e y da Frame.
Com isto só verifico se clicou no botao 1 da Frame “A”, entao copie (evt MouseClicked) na posicao x,y da Frame “B”.

Obrigado pessoal…

2 Respostas

Eder_Peixoto

Inclua um ouvinte no teu Frame utilizando o método addMouseListener( MouseListener ).
Exemplo:

addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                evt.getXOnScreen();
                evt.getYOnScreen();
            }
        });

Para saber a posição absoluta do mouse no momento do clique, utilize os método getXOnScreen() e getYOnScreen() da classe MouveEvent.

R

Ah… esqueci de comentar uma coisa.

Este jFrame do “Pentagrama”, ou seja as linhas onde serao colocadas as notas musicais, foi feita da seguinte forma.
Eu criei um jLabel, e dentro deste jLabel coloquei a imagem do pentagrama (linhas).

A minha duvida é a seguinte:
-Tenho uma imagem que ocupa praticamente a tela da jFrame inteira, esta imagem sao as linhas(Pentagrama), e ela esta dentro de um jLabel.
Tem como eu colocar outra imagem sobre este jLabel? Pois a outra imagem sao as notas musicais, que precisaria colocar sobre o pentagrama.

Muito obrigado novamente.

Criado 24 de outubro de 2009
Ultima resposta 24 de out. de 2009
Respostas 2
Participantes 2