单击 JfreeChart 折线图按钮上的放大和缩小功能?

2023-12-30

基本上我希望线图被放大和缩小(总共4个按钮,2个用于X轴(放大和缩小),另外两个用于Y轴)沿着任何轴单击按钮,就像绘制图形一样在负 x 轴和负 Y 轴区域,根据数据点,然后单击按钮,图形应根据按钮单击沿负 x 轴或负 Y 轴放大和缩小。

我怎样才能实现这一点?任何带有详细解释的示例代码都会很有帮助!

 private JButton createZoom()
 {
        final JButton auto = new JButton("ZOOMIN");
        auto.setActionCommand("ZOOM_IN_DOMAIN");
        auto.addActionListener(new ChartPanel(chart));
        return auto;
    }

Each button's Action https://docs.oracle.com/javase/tutorial/uiswing/misc/action.html implementation should invoke the corresponding method used by ChartPanel http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/ChartPanel.html to create it's popup menu of zoom commands. The implementation of actionPerformed() http://www.jfree.org/jfreechart/api/javadoc/src-html/org/jfree/chart/ChartPanel.html#line.1694 is a convenient guide to the available zooming functionality. For example, the ZOOM_IN_DOMAIN_COMMAND is handled by invoking zoomInDomain(). Based on this example https://stackoverflow.com/a/5522583/230513, a typical Zoom X handler relative to the origin is shown below:

private JButton createZoom() {
    final JButton zoomX = new JButton(new AbstractAction("Zoom X") {

        @Override
        public void actionPerformed(ActionEvent e) {
            chartPanel.zoomInDomain(0, 0);
        }
    });
    return zoomX;
}

如果默认zoomPoint就足够了,您可以使用图表面板的实现:

private JButton createZoom() {
    final JButton zoomX = new JButton("Zoom X");
    zoomX.setActionCommand(ChartPanel.ZOOM_IN_DOMAIN_COMMAND);
    zoomX.addActionListener(chartPanel);
    return zoomX;
}

相比之下,createZoom()原来的方法example https://stackoverflow.com/a/5522583/230513展示了如何唤起ChartPanel method restoreAutoBounds(),这将恢复两个轴上的自动范围计算。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单击 JfreeChart 折线图按钮上的放大和缩小功能? 的相关文章

  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]-MySQL

    我是 Hibernate 的新手 我目前正在使用 Spring boot 框架并尝试通过 hibernate 创建数据库表 我知道以前也问过同样的问题 但我似乎无法根据我的环境找出如何修复错误 休眠配置文件
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类

随机推荐

  • 带有命名参数的 php sqlsrv_query 存储过程

    我使用 php 5 4 和 sqlsrv 扩展 我试图调用这个示例存储过程 NorthWind 数据库 create PROCEDURE dbo GetCategories CategoryID int null AS SELECT fro
  • 使用 HTML、javascript 和 jQuery 通过 Ajax 请求将图像上传到 Amazon s3(无 PHP)

    我正在用 HTML javascript 和 jQuery 开发一个网站 我想通过 ajax 请求将图像上传到亚马逊 s3 服务器 没有这样的 SDK 将 s3 集成到 Javascript 中 PHP SDK 可用 但对我来说没有用 有人
  • 非线性合并后如何恢复线性git历史记录?

    几次提交前 我不小心在我的主分支中进行了非线性合并 我有一个习惯 总是试图保持线性历史 所以现在我想恢复线性 我制作了一个虚拟存储库 它模拟了我所遇到的真实情况 目的是使事情变得更简单 这是它的 GitHub 链接 https github
  • AccountManager 未在 Android N 预览版中添加自定义帐户

    我在我的应用程序中实现了一个同步适配器 它需要在设备帐户设置中添加一个帐户 我遵循 Android 文档中给出的相同方法 它工作正常 直到 Marshmallow 和我可以看到我的帐户列在设备帐户中 但在 Android N 预览版中 帐户
  • 为什么 Visual Studio 2010 在 Boost 1.42.0 中抛出此错误?

    我正在尝试重新编译应用程序 该应用程序在 Visual Studio 2005 和 Visual Studio 2008 中编译良好 警告级别 4 由于错误 如下所示 来自 std tr1 我认为存在一些冲突 但不确定如何修复 我的第一个想
  • gradle错误找不到方法dependencyManagement()

    下面是我的 build gradle buildscript ext springBootVersion 2 0 0 M3 dependencies classpath org springframework boot spring boo
  • 运行 Ansible playbook 时出现 UNREACHABLE 错误

    我确实可以通过 ssh 访问目标计算机 并且它可以工作 但是每当我运行此剧本时 我都会收到以下错误输出 sudo ansible playbook ansible playbook test yml PLAY openstack TASK
  • 如何在 vue bootstrap 中启用悬停下拉菜单?

    div div
  • 事件处理程序为空

    我正在尝试从用户控件引发单击事件并在包含页面上处理它 我遇到的问题是 当我单击用户控件上的按钮 imgstep1 时 imgstep1 click 事件后面的代码会触发 但 btnHandler 事件始终为空 因此它不会调用父事件 对此的任
  • C# 与 C++ 等效的空合并运算符

    C 空合并运算符是否有 C 等效项 我在代码中做了太多空检查 因此正在寻找一种减少空代码量的方法 我刚刚发现这个 这 运算符又名空合并运算符 http dev tricks net the operator aka null coalesc
  • 如果 C 有指针,为什么还需要数组?

    如果我们可以使用指针malloc创建和使用数组 为什么C中存在数组类型 如果我们可以使用指针来代替 那不是没有必要了吗 数组比动态内存分配更快 数组在 编译时 分配 而 malloc 在运行时分配 分配需要时间 另外 C 并没有强制要求ma
  • Java 8方法引用:提供能够提供参数化结果的Supplier

    我想用 java util Optional orElseThrow 具有要求构造函数参数的异常类型 像这样的事情 orElseThrow MyException new someArgument obviously NOT working
  • 从 C 文本文件中读取 int 值

    我有一个包含以下三行的文本文件 12 5 6 4 2 7 9 我可以使用fscanf函数读取前 3 个值并将它们存储在 3 个变量中 但我无法阅读其余部分 我尝试使用fseek函数 但它仅适用于二进制文件 请帮助我将所有值存储在整数变量中
  • 在 C# 中使用“dynamic”关键字无法编译

    我正在尝试编译一段 C 代码 其中包含dynamic关键词 我需要这个关键字来使用ironpython 但是 它无法编译 抱怨 error CS1980 Dynamic keyword requires System Runtime Com
  • 什么是 Nak 限制?

    我试图了解 Android Open Accessory API 如何与 Arduino ADK 板配合使用 我已经能够发送和接收信息 但我只想知道一切是如何工作的 我得到了这个函数的描述 int AndroidAccessory read
  • 错误测试应用内结算示例 - Dungeons

    我正在尝试获取应用程序内计费示例地下城 我有一个带有我的公共 ID 的草稿应用程序 并且我已经发布了非托管项目 potion 001 我在设备上使用与注册商家帐户相同的谷歌帐户 静态测试效果很好 但是当我尝试购买药水时 我得到 DEBUG
  • VBA中的数字上下控制

    vba 中是否有内置的数字 updown 控件 或者我们是否需要创建一个类似的控件 如果有这样的控件那么我们可以使用哪些事件 请建议 您可以使用SpinButton1对此进行控制 SNAPSHOT CODE 您可以设置最小值和最大值Spin
  • 从列表更新选项菜单

    我的 GUI 中有一个 OptionMenu 它由一个列表填充 每次用户运行某个进程时 列表都会更新以反映这一点 有没有办法根据列表更新选项菜单 我试过了self plotWindow update as per 这个问题 https st
  • 如何将现有数据保留在 couchbase 中并且仅更新新数据而不覆盖

    因此 假设我在存储桶下创建了一些记录 文档 并且用户仅更新 RDBMS 中 10 列中的一列 因此我尝试仅发送该一列数据并在 couchbase 中更新它 但问题是 couchbase 会覆盖整个记录并为其余列设置 NULL 一种方法是从
  • 单击 JfreeChart 折线图按钮上的放大和缩小功能?

    基本上我希望线图被放大和缩小 总共4个按钮 2个用于X轴 放大和缩小 另外两个用于Y轴 沿着任何轴单击按钮 就像绘制图形一样在负 x 轴和负 Y 轴区域 根据数据点 然后单击按钮 图形应根据按钮单击沿负 x 轴或负 Y 轴放大和缩小 我怎样