在GWT中自定义HighCharts库中的Stockchart范围选择器按钮(以及一般的Javascript)
我正在使用GWT的HighCharts库,我遇到了一个问题 我正在尝试这样的事情:。对于这个问题,我唯一感兴趣的是在GWT中自定义HighCharts库中的Stockchart范围选择器按钮(以及一般的Javascript),javascript,gwt,highcharts,highstock,Javascript,Gwt,Highcharts,Highstock,我正在使用GWT的HighCharts库,我遇到了一个问题 我正在尝试这样的事情:。对于这个问题,我唯一感兴趣的是范围选择器中的按钮属性,我想在其中自定义按钮文本)。在javascript上,代码如下所示: rangeSelector: { buttons: [{ type: 'day', count: 3, text: '3dias' }, {
范围选择器
中的按钮
属性,我想在其中自定义按钮文本)。在javascript上,代码如下所示:
rangeSelector: {
buttons: [{
type: 'day',
count: 3,
text: '3dias'
}, {
type: 'week',
count: 1,
text: '1w'
}, {
type: 'month',
count: 1,
text: '1m'
}, {
type: 'month',
count: 6,
text: '6MS'
}, {
type: 'year',
count: 1,
text: '1ano'
}, {
type: 'all',
text: 'All'
}],
selected: 3
}
现在,我正尝试在GWT中使用图表上的方法setOption()执行同样的操作。但似乎什么都不管用
我想我遇到了麻烦,因为按钮
属性需要一个属性数组,而这正是我无法解决的问题
我试过的东西:
chart.setOption("/rangeSelector/buttons",
new String[]{"{type: 'day', count: 1, text: '1dia'}", "{type: 'day', count: 1, text: '1dia'}"});`
这是我能想到的最好的方法,它创建了两个空按钮,并且没有任何动作
任何帮助都将不胜感激。多谢各位
更新:(2012年12月13日)在给出接受的答案后,我需要将按钮设置为witdh。 为此,请使用:
buttonTheme: {
width: 80
}
比如:
rangeSelector: {
selected: 2,
inputBoxStyle: {
top: '40px',
right: '10px'},
buttons: [{
type: 'week',
count: 1,
text: '1 semana'
}],
buttonTheme: {
width: 80
}
}
请您尝试以下内容:
String rangeSelectorConfig = " {\n" +
" buttons: [{\n" +
" type: 'day',\n" +
" count: 3,\n" +
" text: '3dias'\n" +
" }, {\n" +
" type: 'week',\n" +
" count: 1,\n" +
" text: '1w'\n" +
" }]" +
" }" ;
JSONValue config = JSONParser.parseLenient(rangeSelectorConfig);
chart.setOption("/rangeSelector", config);
Chart
类(借助于Configurable
)不会为您解析JSON对象,因此代码中的按钮会作为字符串文本传递给本机HightCharts JS。有效!非常感谢你。但是,只有一个问题,为什么要将“\n”放在那里?有什么特别的原因吗?我这样问是因为它在没有它们的情况下也能工作。它只是格式化了我的想法的暗示:),将字符串文本复制/粘贴到Java代码中。没有理由添加它们。啊,好吧,我想它可以是任何类型的模式,或者是良好的实践或其他什么。还有一个问题,如果你知道的话。可以改变按钮的长度吗?因为现在如果我加上更长的文字,它会很混乱。事实上,我不确定。但您是否尝试过简单地为“按钮”传递“宽度”属性?