Я использую JFreeChart
в Java, чтобы нарисовать XYLineChart
, содержащий 50+ x, y точек. Диаграмма находится в ChartPanel
, которая находится в 1 из JPanels
моего JFrame
.JFreeChart выбрать несколько точек - перетаскивание мышью - lasso - Java
Я знаю, что JFreeChart
уже имеет функцию масштабирования, в результате чего при щелчке мышью и перетаскивании он масштабирует/выводит и отображает точки под выбранной «перетаскиваемой» областью.
Я хочу знать, есть ли способ, чтобы это вернуть х, у координаты точек, если увеличение при нажатии на CTRL, ALT или SHIFT ключ, то есть, если пользователь нажимает точку на диаграмме, а затем перетаскивает мышь, она должна масштабироваться, как обычно. Но если пользователь нажимает на точку и тащит, нажимая либо SHIFT или ALT или CTRL ключей, мы должны получить список всех выбранных точек на графике [точки под тащили области]. Это возможно ? Пожалуйста, дайте мне знать, как это сделать.
Я пытаюсь добавить простой MouseListener
к ChartPanel
, чтобы обнаружить, когда мышь нажата & выпущенные но х, у значения положения возвращаемого событий мышей соответствует месту нахождения Нажмите на экране & не фактические x, y координаты точек на графике. Мне нужны фактические координаты всех точек, которые пользователь нажимает и перетаскивает мышью, чтобы вычислить, до какой точки была нажата мышь, и перетащил &, где мышь была выпущена, и использовать эту информацию для выбора нескольких точек под перетаскиванием площадь.
Если у кого-либо есть представление об этом, сообщите мне.
Перекрестная рассылка [здесь] (http://www.jfree.org/forum/viewtopic.php?f=3&t=116768). – trashgod
Извините за перекрестную рассылку, но я уже некоторое время борюсь с этой проблемой и хотел, чтобы кто-то по крайней мере выслал мне свои мысли о том, как это решить. –
Я попытался реализовать эту функцию в старой версии JFreeChart: JFreeChart 1.0.16, но не могу этого сделать. Я могу использовать ChartMouseListener на моем ChartPanel, чтобы получить значения x, y точки при нажатии. Тем не менее, чтобы реализовать то, что я хочу (отображено несколько точек и отображены их значения x, y), мне нужно иметь регулярный MouseListener на ChartPanel, который будет делать это с помощью mousePressed() и mouseReleased(), которые используют MouseEvent, а не ChartMouseEvent. Как получить фактические значения x, y, а не x, y на экране, используя MouseListener? –