gpt4 book ai didi

java - JFreechart 右键单击​​ XYItemEntity

转载 作者:行者123 更新时间:2023-12-02 11:45:34 25 4
gpt4 key购买 nike

我意识到,只有当用户左键单击图表时,才会调用 ChartMouseClicked 方法。当用户右键单击图表时,会调用 MousePressed() 和 mouseReleased() 方法。但我还需要更多东西。我需要它们在一起。我需要查找用户是否右键单击 XYItemEntity。然后我将显示新的弹出菜单项。如果用户选择菜单项,我将从 XYITEM 传递信息。如果不是 XYItemEntity,我将不会更新图表的 Popupmenu。这就是我如何检查 ChartMouseClicked 上的 XYITEM 实体。

panel.addChartMouseListener(new ChartMouseListener() {
public void chartMouseClicked(final ChartMouseEvent event) {
/** If Time Instance point is clicked */
if (event.getEntity() instanceof XYItemEntity) {

}}

最佳答案

我设法找到了一个结合了chartMouseMoved 和mouseReleased 方法的解决方案。

 public void chartMouseMoved(final ChartMouseEvent event) {
if (event.getEntity() instanceof XYItemEntity) {
panel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
clickedSimulationItem = (XYItemEntity) event.getEntity();
} else if (event.getEntity() instanceof PlotEntity) {
handleMouseMoveOnPlot(event);
} else {
panel.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
clickedSimulationItem = null;
}
}


private void addMouseListener() {
panel.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
if (clickedSimulationItem != null) {

panel.getPopupMenu().add(new JMenuItem("denem"));
/** update pop up */
}
}
}
}

@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}

@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}

@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}

@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
});
}

关于java - JFreechart 右键单击​​ XYItemEntity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48227006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com