Java Swing可单击JFree图表,单击每个条形图或饼图以打开新框架或新图表

Java Swing可单击JFree图表,单击每个条形图或饼图以打开新框架或新图表,java,swing,mouseevent,jfreechart,desktop,Java,Swing,Mouseevent,Jfreechart,Desktop,我正在为我最后一年的项目制作一个基于JavaSwing的桌面应用程序。我已经创建了不同类型的图表,这些图表与我的数据库相连 现在,我想让这个仪表板更具交互性,当点击每个栏时,我想进一步向下钻取以打开另一个图表,或者可能是一个框架或表格以获取详细信息 有谁能帮我点击图表上的一个栏来打开一个新的框架或任何新的窗口或图表吗 下面是我的应用程序截图,也是我的一张图表的代码 谢谢大家 应用程序的屏幕截图 您需要在图表面板中添加一个ChartMouseListener chartPanel.addC

我正在为我最后一年的项目制作一个基于JavaSwing的桌面应用程序。我已经创建了不同类型的图表,这些图表与我的数据库相连

现在,我想让这个仪表板更具交互性,当点击每个栏时,我想进一步向下钻取以打开另一个图表,或者可能是一个框架或表格以获取详细信息

有谁能帮我点击图表上的一个栏来打开一个新的框架或任何新的窗口或图表吗

下面是我的应用程序截图,也是我的一张图表的代码

谢谢大家

应用程序的屏幕截图


您需要在
图表面板
中添加一个
ChartMouseListener

chartPanel.addChartMouseListener(new ChartMouseListener() {

    @Override
    public void chartMouseClicked(ChartMouseEvent event) {
        ChartEntity entity = event.getEntity();
        System.out.println(entity);
    }

    @Override
    public void chartMouseMoved(ChartMouseEvent event) {
    }
});

ChartEntity
将是一个
CategoryItemEntity
,可用于访问
行键
列键
数据集
。然后,您可以打开一个对话框或选项卡来显示找到的数据。

您好,Catalina,谢谢您的回复。它的工作原理是,我可以看到鼠标在我的输出上单击的动作,但我不确定如何使用它,因为我正在使用mysql数据库作为数据集,并单击我想要打开新框架或新图表面板的条形图或图例文本之一。你能帮我做点什么吗?感谢取决于你想做什么,但这里有一些很好的例子。您可能需要更新您的问题或询问其他问题。谢谢Catalina,我将为此创建一个新问题。交叉发布。
chartPanel.addChartMouseListener(new ChartMouseListener() {

    @Override
    public void chartMouseClicked(ChartMouseEvent event) {
        ChartEntity entity = event.getEntity();
        System.out.println(entity);
    }

    @Override
    public void chartMouseMoved(ChartMouseEvent event) {
    }
});