mouse entered

0

Witam, czy mógłby mi ktoś powiedzieć co jest nie tak z tym kodem, że po najechaniu myszką na określone współrzędne program się nie zamyka?

public class Frame extends JFrame  {
static JPanel panel = new JPanel();
	public Frame() 
        {            
		super("");
                add(panel);
                panel.setBackground(Color.YELLOW);
		JPanel obrazPanel = new Menu();
                panel.add(obrazPanel);
                
                this.addMouseListener(new java.awt.event.MouseAdapter() 
       {
        public void mouseEntered(java.awt.event.MouseEvent evt) 
        {
            
             System.out.println("x="+evt.getX()+" y="+evt.getY());
           if(evt.getX( )>614 && evt.getX()<770 && evt.getY( )>565 && evt.getY()<601)
            {
                                     System.exit(0);

            }
}
});
0

A czy okienko ma fokusa w chwili najeżdżania? Pewnie nie...

0

@up: po jaki siusiak komu fokus do zdarzeń myszki?

Nie łapie, bo dodałeś listener do ramki, a eventy myszki idą do komponentu na którym jest kursor... w tym wypadku ten panel...

edit: po drugie.. sprawdzasz event mouseEntered, który jest odpalany, jak sama prostytutka nazwa wskazuje, gdy myszka wchodzi na komponent, a później już nie...

0

Myślę, że obaj (@Shalom i @Kerai ) się mylicie. Autor zamieścił kod z wyświetlaniem współrzędnych, i pyta czemu program się nie kończy. Zakładam, że wyświetlają się właściwe współrzędne, a program się nie kończy.

0

Bez takiej spiny, pokombinowałem i udało mi się rozwiązać problem. Stworzyłem niewidzialne panele i dodałem do nich listenera. Proste rozwiązanie, ale skuteczne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1