1

我需要在 java 中实现 gwt-highcharts 可拖动数据点,类似于这里在 js 中所做的:

http://jsfiddle.net/highcharts/AyUbx/(代码如下)

我无法从 gwt-highcharts javadocs 中弄清楚如何在 java 中做到这一点。鼠标或单击事件处理程序文档都没有提到如何捕获拖动信息,甚至没有提到如何捕获与单击事件相结合的鼠标向上事件,这将使我检测到拖动动作。我在网上的其他任何地方都没有找到这个。任何帮助或示例将不胜感激。我正在使用 GWT 2.5.1,以及截至 2014 年 1 月 3 日的最新版本的 gwt-highcharts 和 jquery。提前致谢。-担

var chart = new Highcharts.Chart({

chart: {
    renderTo: 'container',
    animation: false,
    zoomType: 'x'
},

xAxis: {
    //categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},

plotOptions: {
    series: {
        cursor: 'ns-resize',
        point: {
            events: {

                drag: function(e) {
                    // Returning false stops the drag and drops. Example:
                    /*
                    if (e.newY > 300) {
                        this.y = 300;
                        return false;
                    }
                    */
                    $('#drag').html(
                        'Dragging <b>' + this.series.name + '</b>, <b>' +
                        this.category + '</b> to <b>' + 
                        Highcharts.numberFormat(e.newY, 2) + '</b>'
                    );
                },
                drop: function() {
                    $('#drop').html(
                        'In <b>' + this.series.name + '</b>, <b>' +
                        this.category + '</b> was set to <b>' + 
                        Highcharts.numberFormat(this.y, 2) + '</b>'
                    );
                }
            }
        },
        stickyTracking: false
    },
    column: {
        stacking: 'normal'
    }
},

tooltip: {
    yDecimals: 2
},

series: [{
    data: [0, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
    //draggableX: true,
    draggableY: true,
    dragMinY: 0,
    type: 'column',
    minPointLength: 2
}, {
    data: [0, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4].reverse(),
    draggableY: true,
    dragMinY: 0,
    type: 'column',
    minPointLength: 2
}, {
    data: [0, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
    draggableY: true
}]

});

4

0 回答 0