jpanel



Jpanel java

Автор Alyona Gvozdeva задал вопрос в разделе Другие языки и технологии

Как узнать координаты клика мышки на экране JPanel в Java? и получил лучший ответ

Ответ от Alexey[гуру]
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;

import javax.swing.SwingUtilities;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestMouseEvents implements Runnable, MouseListener {

public void run() {
JFrame frame = new JFrame();
frame.setTitle("Test mouse events");
// при закрытии окна выйти
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(400, 200));
panel.addMouseListener(this);

Container cp = frame.getContentPane();
cp.setLayout(new BorderLayout());

cp.add(panel, BorderLayout.CENTER);

// пакуем
frame.pack();
// показываем
frame.setVisible(true);
}

/////////////
// MouseEvent methods
public void mouseClicked(MouseEvent e) {
System.out.println("mouseClicked");
printMouseEvent(e);
}

public void mouseEntered(MouseEvent e) {
System.out.println("mouseEntered");
printMouseEvent(e);
}

public void mouseExited(MouseEvent e) {
System.out.println("mouseExited");
printMouseEvent(e);
}

public void mousePressed(MouseEvent e) {
System.out.println("mousePressed");
printMouseEvent(e);
}

public void mouseReleased(MouseEvent e) {
System.out.println("mouseReleased");
printMouseEvent(e);
}

//////////////
// util methods
private void printMouseEvent(MouseEvent e) {
int button = e.getButton();
switch (button) {
case MouseEvent.BUTTON1: {
System.out.println("Button1");
break;
}
case MouseEvent.BUTTON2: {
System.out.println("Button2");
break;
}
case MouseEvent.BUTTON3: {
System.out.println("Button3");
break;
}
default: {
break;
}
}
int clicks = e.getClickCount();
System.out.println("clicks: " + clicks);
Point p = e.getPoint();
System.out.println("point: " + p);
}

public static void main(String[] args) {
TestMouseEvents entryPoint = new TestMouseEvents();
// Выполнить в EDT
SwingUtilities.invokeLater(entryPoint);
}

}

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как узнать координаты клика мышки на экране JPanel в Java?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*