根据在原始图表的饼图中的单击操作创建弹出屏幕

时间:2012-10-13 11:56:07

标签: java vaadin pie-chart

当用户点击部分饼图时,如何创建弹出屏幕?

例如;

  • 我的饼图显示了英语50%德语20%法语20%和意大利语10%等语言的分布。
  • 当用户点击饼图中的英文部分时,必须显示一个显示英文发行信息的弹出屏幕。

我怎样才能在vaadin中添加invient图表?

1 个答案:

答案 0 :(得分:1)

像这样使用com.invient.vaadin.charts.InvientCharts.PointClickListener

chart.addListener(new PointClickListener() {
    @Override
    public void pointClick(PointClickEvent pointClickEvent) {
        Item item = pointItems.get(pointClickEvent.getPoint());

        Window popupWindow = new Window();
        // Add stuff to your window
        getWindow().addWindow(popupWindow);
    }
});

非常简单:) getWindow()方法在Component中定义,因此调用类应该是实现它的方法。如果您使用ThreadLocal pattern

,您可以在代码中的任何位置获得对主窗口的引用

编辑:我忘了提到pointItems在类中声明如下:

Map<Point, Item> pointItems = new HashMap<Point, Item>();

创建点时,我将Point和Item对象放到地图上。您还可以创建自己的Point实现,并将Item封装在其中。太糟糕的Invient Charts宣布几乎所有的课程都是最终的,所以你不能延伸例如。 DateTimePoint:/