在GWT中自定义HighCharts库中的Stockchart范围选择器按钮(以及一般的Javascript)

在GWT中自定义HighCharts库中的Stockchart范围选择器按钮(以及一般的Javascript),javascript,gwt,highcharts,highstock,Javascript,Gwt,Highcharts,Highstock,我正在使用GWT的HighCharts库,我遇到了一个问题 我正在尝试这样的事情:。对于这个问题,我唯一感兴趣的是范围选择器中的按钮属性,我想在其中自定义按钮文本)。在javascript上,代码如下所示: rangeSelector: { buttons: [{ type: 'day', count: 3, text: '3dias' }, {

我正在使用GWT的HighCharts库,我遇到了一个问题

我正在尝试这样的事情:。对于这个问题,我唯一感兴趣的是
范围选择器
中的
按钮
属性,我想在其中自定义按钮文本)。在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代码中。没有理由添加它们。啊,好吧,我想它可以是任何类型的模式,或者是良好的实践或其他什么。还有一个问题,如果你知道的话。可以改变按钮的长度吗?因为现在如果我加上更长的文字,它会很混乱。事实上,我不确定。但您是否尝试过简单地为“按钮”传递“宽度”属性?