я не знаю, как сделать хорошее название для этого .. но здесь мы идем:Java Mouse Позиция couting область, которая была прокручивается
Я пытаюсь получить точное положение мыши, когда я нажимаю на этикетке, используя MouseAdapter, который я добавил в свой JViewPort из JScrollPane Моя панель сама добавляется внутри JScrollPane.
И когда я пытаюсь получить координаты положения курсора мыши всегда по отношению к площади панели, которая видна .. ее не считая область, которая не видна из-за свитка ..
Я не знаю, если бы я убедился, я надеюсь, что так. Уже пробовал использовать getMousePosition от JViewPort и от JScrollPane, а также не работал. Спасибо заблаговременно!
Вот код: Конструкция рамы, которая имеет панель внутри него ..
public GraphViewer(ArrayList<TimeSlot> graph) throws HeadlessException {
final MyCustomPanel panel = new MyCustomPanel(graph);
panel.setPreferredSize(panel.getLargestSize());
scroll = new JScrollPane(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
add(scroll, BorderLayout.CENTER);
JViewport v = scroll.getViewport();
ViewportDragScrollListener l = new ViewportDragScrollListener(panel);
v.addMouseMotionListener(l);
v.addMouseListener(l);
}
пожалуйста, вы хотите получить только точку с мышью, или переместить эту точку на JPanel в JScrollPane – mKorbel
Эй! Спасибо за ваш ответ . Я хочу получить позицию мыши в JPanel. Но позиция, которую я получаю с помощью getMousePosition, всегда имеет вид окна просмотра. Не вся jlabel .. если бы был способ получить количество прокрутки X и количество Y прокрутил, я мог делать математику .. – TiagoM
посмотрите на SwingUtilities.convertXxxXxx, я уверен, что я отправляю ответ на очень похожий вопрос (ы), пожалуйста, чтобы искать в моих сообщениях здесь – mKorbel