Olá Companheiros,
Mais uma vez, e talvez outras vezes, irei recorrer ajuda de vc´s, consegui resolver o problema da referência na posição do mouse, porém como estou resolvendo os problemas por etapas vamos lá:
1- estou selecionando as figuras a serem inseridas na area de trabalho atraves de um painel contendo botoes. Ao selecionar um desses botoes, faco com que no evento de click desse botao um objeto do tipo Image receba a figura (do tipo “gif”) contida em uma area definida por um caminho ou path.
E posteriormente insiro com o click do mouse (evento do mesmo) a figura com a seguinte linha
public void MousePressed (MouseEvent e) {
int x = e.getX();
int y = e.getY();
Graphics g = getGraphics();
/* img = contem a imagem ao selecionar em um dos buttons no painel de controle /
g.drawImage(img, x, y, null);
/ a lista a seguir e uma sequencia de imagens que foram inseridas na area de trabalho - de modo que para uma nova pintura da area as imagens possam ser buscadas nessa lista */
listaImagens.adicionar(img, x, y);
g.dispose();
}
Em torno desse pequeno modulo pergunto ? Por que quando seleciono uma figura do painel, a 1a vez para qualquer objeto selecionado, quando dou um click no mouse para apresentar a imagem, ela está lá e não visivel, somente a partir do 2 click em diante é que as figuras aparecem ?Como eu poderia resolver esse problema ?
2 - A area de trabalho do meu aplicativo herda de um JScroolPanel implementando a classe MouseListener se nao me falha memoria. Em torno disto, faço outra pergunta : quando insiro os objetos (as figuras) nessa area de trabalho e redimensiono essa área, a barra de scrool não fica ativada e os objetos que estão inseridos nessa área escondidos somente poderão ser revistos se eu ampliar novamente a janela. Como resolver isso, dá impressão que as figuras não estão inseridas na área de trabalho (ela parece não “enxergar” isso).
3 - Algum de vc´s conhece um componente ou como eu poderia implementar o zoom in e o zoom out para a area de trabalho ?.
De inicio e só, peço desculpas se são muitas perguntas, porém se alguem tiver uma solução ou identificar qual o problema, gostaria de uma ajuda.
Desde ja agradeço
André