当用户点击部分饼图时,如何创建弹出屏幕?
例如;
我怎样才能在vaadin中添加invient图表?
答案 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:/