我正在编写一个使用 Jfreechart 绘制简单条形图的应用程序,此图表需要响应用户的鼠标点击。我想更改用户点击的栏的颜色。我知道该事件将是 ChartMouseEvent ,将由 ChartMouseListener 处理,但我对如何更改 ChartEntity的颜色感到有点困惑强烈>一旦我从活动中收到它。
非常感谢任何帮助。
答案 0 :(得分:3)
您可以通过覆盖渲染器getItemPaint()
来更改单个条形图的颜色,如图所示here和here用于其他渲染器。收到ChartEntity
类型CategoryItemEntity
后,您可以确定点击了哪个数据集,系列和栏。然后,您可以调整自定义渲染器以使用下一个repaint()
应用所需的颜色。
或者,在JTable
中显示每个系列和颜色,然后使用JColorChooser
选择颜色,如How to Use Tables所示。