ChartPanel未在GUI中注册为组件



我有以下输出。

Recursive call for org.jfree.chart.ChartPanel[chartpanelBoa
Component count 0 for org.jfree.chart.ChartPanel[chartpanelBoa

我运行得到这个输出的代码是

public void enableEverything(Container c){
Component [] p = c.getComponents();
System.out.println("Component count " + c.getComponentCount() + " for " +   
c.toString().substring(0,40)  );
for(Component pp : p){
pp.setEnabled(true);
if(pp instanceof Container){
System.out.println("Recursive call for " + pp.toString().substring(0,40));
enableEverything((Container) pp);
}
else System.out.println("No recursive call");
}

}

图表面板可以在我的JPanel中看到,但它不会计算图表面板。我期待的输出

org.jfree.chat.ChartPanel的组件计数1[chartpanelBoa

计算组件的幕后是什么?

org.jfree.chart.ChartPanel的源代码所示,ChartPanelJPanel,但它不包含Component的嵌套实例。导入了一些Swing组件来处理上下文菜单、工具提示等,但附带的JFreeChart本身是纯Java2D。

当图表被禁用时,您似乎想要更改它的视觉表示。您仍然可以在ChartPanel本身上调用setEnabled()来利用JPanelUI委托。您也可以根据需要修改图表的内部;该示例使用CCD_ 9或CCD_。

最新更新