java - 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");
}
}
ChartPanel 可以在我的 JPanel 中看到,但它不会计算图表面板。我期待的输出
org.jfree.chart.ChartPanel[chartpanelBoa 的组件计数 1
计算组件的幕后因素是什么?
解决方案
如源代码所示org.jfree.chart.ChartPanel
, aChartPanel
是 a JPanel
,但它不包含 的嵌套实例Component
。导入了一些Swing 组件来处理上下文菜单、工具提示等,但其JFreeChart
本身是纯Java2D的。
看起来您想在禁用图表时更改图表的视觉表示。您仍然可以调用自身setEnabled()
以ChartPanel
利用JPanel
UI 委托。您还可以根据需要修改图表的内部;此示例setBackgroundPaint()
使用或使背景变暗setBackgroundImageAlpha()
。
推荐阅读
- r - “没有可用于打开的方法” - 尝试在 Linux Ubuntu 上验证 R 中的谷歌表格
- adonis.js - adonis serve 不起作用并说出意外的令牌 {
- python - Python:Keras:如何将简单列表转换为机器学习模型的 np 数组?
- reactjs - Gatsby Develop 工作正常,Gatsby Build 导致 WebpackError: Minified React 错误 #130
- awk - 用于字符串替换和打印匹配和不匹配字符串的 awk 命令
- javascript - 运行“yarn kbn bootstrap”时出错(kibana 安装)
- flutter - Flutter Switch 在 AlertBox 中不起作用
- right-to-left - 段落的最后一个标点保留在 RTL 网站的右侧
- reactjs - 我想在按下按钮时减慢 Box 的动画
- python - 使用 jupyter 笔记本时遇到阈值问题