我有一个有多条线的图表,每条线都绘制在它自己的 y 轴上。
我一直在尝试设置它,以便当通过图例隐藏一条线时,它所在的轴也被隐藏。我的计划是在画布上添加一个点击侦听器,然后根据线状态禁用或启用所有轴。
我的问题是确定该行是否隐藏。dataset.hidden
只有当 中的隐藏值dataset._meta
未定义时,该属性才似乎相关。考虑到这一点,我尝试设置代码:
ctx.onclick = function(){
var changed = false;
for(var j = 0;j < scatterChart.options.scales.yAxes.length;j++){
var oldVal = scatterChart.options.scales.yAxes[j].display;
var hidden = false;
var isHiddenDataSet = scatterChart.data.datasets[j].hidden;
if(isHiddenDataSet){
hidden = true;
}
var isHiddenMeta = scatterChart.data.datasets[j]._meta[0].hidden;
if(isHiddenMeta != null){
hidden = isHiddenMeta;
}
scatterChart.options.scales.yAxes[j].display = !hidden;
changed = changed || oldVal == scatterChart.options.scales.yAxes[j].display;
}
if(changed){
scatterChart.update();
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码适用于我只有一个图表的原始测试,但如果页面上有多个图表,因为数据对象的索引在_meta
图表之间变化,则失败。
有没有办法确定数据集是否隐藏?
我有代码应该将XmlElement添加到文档的根元素,或者替换现有元素(如果有的话).这是我的代码:
if (existingInfo != null)
{
existingInfo.ParentNode.ReplaceChild(existingInfo, newInfo);
}
else
{
this.rootElement.AppendChild(info)
}
configDocument.Save(this.filePath);
Run Code Online (Sandbox Code Playgroud)
如果我要附加一个新项目,这不是问题.但是,当我尝试添加一个新项时,我得到一个ArgumentException,指出"要删除的节点不是此节点的子节点"
这是一个2.0应用程序.
我有一个自定义的JComponent放置在JFrame的(好放置在JPanel的一个JFrame的).我使用setDefaultCloseOperation()将我的JFrame设置为 DISPOSE_ON_CLOSE
.
我的自定义组件有一个Timer,在帧关闭后继续运行.我知道我可以将一个WindowListener添加到JFrame然后调用自定义组件来停止,但我更希望我的组件完全封装.是否有任何事件可用于检测何时从JComponent中关闭父JFrame?
我正在查看我正在使用的MCU的一些示例代码,并看到以下声明:
// A full cycle, 16-bit, 2's complement sine wave lookup table
int code SINE_TABLE[256] = {
0x0000, 0x0324, 0x0647, 0x096a, 0x0c8b, 0x0fab, 0x12c8, 0x15e2,
0x18f8, 0x1c0b, 0x1f19, 0x2223, 0x2528, 0x2826, 0x2b1f, 0x2e11,
0x30fb, 0x33de, 0x36ba, 0x398c, 0x3c56, 0x3f17, 0x41ce, 0x447a,
0x471c, 0x49b4, 0x4c3f, 0x4ebf, 0x5133, 0x539b, 0x55f5, 0x5842,
0x5a82, 0x5cb4, 0x5ed7, 0x60ec, 0x62f2, 0x64e8, 0x66cf, 0x68a6,
0x6a6d, 0x6c24, 0x6dca, 0x6f5f, 0x70e2, 0x7255, 0x73b5, 0x7504,
0x7641, 0x776c, 0x7884, 0x798a, 0x7a7d, 0x7b5d, 0x7c29, 0x7ce3,
0x7d8a, 0x7e1d, 0x7e9d, 0x7f09, 0x7f62, 0x7fa7, 0x7fd8, …
Run Code Online (Sandbox Code Playgroud)