Problemas com MouseListener e JPanel

Tenho uma imagem. Leio essa imagem e adiciono ela em um JPanel. No JPanel, tenho os eventos do mouse, ou seja, somente MouseListener.
Coloco o JPanel em um JFrame e a imagem aparece, so que eu gostaria que aparecesse somente o JPanel e não o fundo (p. ex. aparece o fundo do JFrame). Além disso o tamanho do JPanel fica menor que o tamanho da Imagem. Tem como colocar do mesmo tamanho?

Eu crio uma classe que extende JPanel e lá coloco o MouseListener. Adiciono o JPanel no JFrame, mas não consigo fazer com que o JPanel seja tipo o elemento central do JFrame (que fique centralizado). Eu devo usar GridBagLayout? Não tem uma maneira mais fácil de fazer isso? Existe algum framework que possa me auxiliar nessa parte de Swing?

Outra coisa
Qdo eu uso um Jframe e coloco somente a imagem (usando JLabel) e clico no canto superior direito, os pontos pegos pelo Mouse não são 0,0, mas sim 0, 25. O que pode estar acontecendo?

Alguém sabe se usando um framework fica mais fácil?

Olha não sei se vai te atender , mas interface grafica atualmente tenho feito no netbeans 6.1 , e bem mais facil e rapido, e so arrastar as telas , e inserir os eventos . Fazer interface na unha e muito sofrimento!!! :stuck_out_tongue:

cara eu bem que gostaria, mas nao me atende.
eu ate posso fazer no netbeans mas receio não poder fazer manutenção depois.

alguem conhece algum guia pra fazer coisas em swing?

Opa!

Fica acima do valor por causa da barra de título (aquela que tem o nome do programa (quando você usa super(“Nome”) no construtor)). Esses 25 pixels são desse bagulho. Eu não estou lembrado como faz pra você tira (na verdade, acho que não tem como), mas isso se chama Insets. Se você imprimir os valores dos Insets (usando getInsets.top, bottom, left e right), provavelmente vai ter valores como 25, 5, 1, 1. Pra não ter esse “problema”, faça o JPanel e trate ele como se você um único Form (como você já está fazendo).

Sobre o MouseListener,
Isso acontece porque você não está enxergando, mas o JPanel está cobrindo o Frame inteiro. Se você colocar o JPanel somente em uma determinada região, vai ver que o MouseListener funciona (centralizar o JPanel, por exemplo).

Abraço.