2012-01-17 1 views
2

左にドラッグするとJFreechartのズームが止まりません。JFreechartが左にドラッグするとズームが外れる

thxs。

+0

をズームアウトするには意味のある方法がありますので、ズームアウト機能はまだチャートのコンテキストメニューから利用できるようになりますか?それはオーバーライドしたいunzoomingの通常の動作ですか? – unexplored

+0

完全にぼかしを無効にしたいのですか、マウスのドラッグで開始された動作のみを無効にしたいですか?あなたが私がおそらく助けることができるより多くの情報を提供できれば。 – unexplored

答えて

4

マウスを左にドラッグして呼び出されたときに「ズームリストア」機能を無効にすることを前提にしています(短い質問に基づいて)。

JFreeChart chart = /* create your chart here*/ 

// add the chart to the panel and override 
// the zoom restore behavior 

chartPanel = new ChartPanel(chart){ 

    @Override 
    public void restoreAutoBounds(){ 
     // Do nothing 
    }   
}; 

または、イベント良くはChartPanelオブジェクトを拡張し、そこにそれを上書きすることです:

もしそうなら、あなたは、単にこのようなrestoreAutobounds()メソッドをオーバーライドする必要があります。

注:ユーザーがまだあなたがドラッグ左で正確に何を意味しています

+0

基本的には、ESCキーを使用してズームを解除し、ズーム復元を無効にしたいのですが、それは可能でしょうか? –

+0

その場合、restoreAutoBounds()のオーバーライドにいくつかのロジックが必要です。たとえば、ESCキーを傍受してrestoreAutoBounds()を呼び出して、実際にリストアする必要があることを明示してから、super.restoreAutoBounds()をコールするだけです。マウスドラッグの場合は何もしません。 – unexplored

+0

何らかの理由でキーライダーが動作しなくなることがあります。 –

関連する問題