Swing 中的交互式平面直线图

2023-12-31

我正在尝试在 JApplet 上绘制交互式平面直线图(PSLG)。我使用鼠标单击来确定 PSLG 的顶点。

这是我用来绘制 PSLG 边缘的算法 1. 将用户执行鼠标单击的点添加为 PSLG 的顶点。 2. 如果他单击第二个点,则该点和先前单击的点之间直接创建一条边

以下是我因使用该算法而观察到的某些缺陷:

  1. 无法创建不相交的平面集,例如仅线段
  2. 仅当用户单击起点所在的确切位置时才会创建闭合多边形[本质上,如果用户单击非常接近起点,则无法判断该点实际上是起点,因为它出现在一定的公差范围内]。

我在这里检查了一些类似的问题,人们建议使用自由图表图书馆。但据我所知,这些问题的情况是 PSLG 的要点已经众所周知。不知是否自由图表可用于创建交互式 PSLG

我考虑过添加点并有一个按钮,该按钮会显示在点之间添加边缘,但如果是这种情况,选择 2 个点仍然会涉及 2 中遇到的邻近问题。

我想知道是否有人可以建议我更好的方法来处理这种情况。

提前致谢


GraphPanel http://sites.google.com/site/drjohnbmatthews/graphpanel可以适应这项任务,尽管它可能受益于更先进的边缘模型 http://en.wikipedia.org/wiki/Planar_straight-line_graph为了更快的搜索。还考虑JGraph http://www.jgraph.com/.

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

Swing 中的交互式平面直线图 的相关文章

  • Junit:如何测试从属性文件读取属性的方法

    嗨 我有课ReadProperty其中有一个方法ReadPropertyFile返回类型的Myclass从属性文件读取参数值并返回Myclass目的 我需要帮助来测试ReadPropertyFile方法与JUnit 如果可能的话使用模拟文件
  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • 在内存中使用 byte[] 创建 zip 文件。 Zip 文件总是损坏

    我创建的 zip 文件有问题 我正在使用 Java 7 我尝试从字节数组创建一个 zip 文件 其中包含两个或多个 Excel 文件 应用程序始终完成 没有任何异常 所以 我以为一切都好 当我尝试打开 zip 文件后 Windows 7 出
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]-MySQL

    我是 Hibernate 的新手 我目前正在使用 Spring boot 框架并尝试通过 hibernate 创建数据库表 我知道以前也问过同样的问题 但我似乎无法根据我的环境找出如何修复错误 休眠配置文件
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • Eclipse Maven Spring 项目 - 错误

    I need help with an error which make me crazy I started to study Java EE and I am going through tutorial on youtube Ever
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db

随机推荐

  • 导轨和主干一起工作

    我刚刚开始研究 MVC 结构 首先我看看如何backbone js工作了 现在我刚刚完成僵尸的轨道 http railsforzombies org 由代码学校提供 我知道我还没有深入研究这些内容 但我首先有一个问题 您可以一起使用这些库吗
  • 错误:操作数 1 处向量寄存器的使用无效

    我正在 64 位 Aarch64 设备上的 ARM 下学习 GCC 内联汇编器 我看到一条我不太明白的错误消息 来自 GCC 内联汇编器的错误消息 gcc DNDEBUG g3 O1 march armv8 a crc crypto tes
  • codeigniter 允许 uri 中使用特殊字符(例如:ä、é、î、ø、ù)

    如何在 codeigniter 的 uri 中允许特殊字符 例如 您不能直接在 URL 中使用特殊字符 RFC 1738 包含以下段落 URL 只用图形来写 US ASCII 的可打印字符 编码字符集 US ASCII 字符集中的字符列表可
  • Rails 4 devise_invitable 邀请令牌无效

    我一直在关注Ryan Boland 的优秀 Rails 多租户教程 https www youtube com watch v nXqwFEjxyhM 但遇到了 devise invitable 的问题 我在用 Rails 4 1 5 de
  • 如何 IKVM Apache POI

    我想在我的 NET 应用程序中使用 Apache POI 我知道有一个端口 NPOI 但它不完整并且没有 PowerPoint 相关功能 我尝试使用以下命令对其进行 IKVM ikvmc target library poi 3 8 jar
  • biblatex:自定义参考书目条目

    我目前正在努力处理我的 BibLaTeX 文件 我想把这两个信息变成粗体 我正在使用下面的模板 但找不到插入的正确位置textbf or a 马克比博尔德属性 甚至不知道在这个用例中这是否是正确的属性 每次尝试都失败和 或使我的整个项目崩溃
  • Django 多对多限制

    我是数据库和 Django 的新手 我对触发器了解甚少 我创建了一个关于学术专家系统的数据库 这里所有论文最多应有 4 个主题 如果选择的主题多于 则应发出 主题过多 的警告 一个主题可以由许多论文拥有 所以这是一种多对四的关系 但我不知道
  • 如何从 C# 代码调用 Google 地理编码服务

    我有一个 C 类库 从那里我必须调用谷歌服务并获取纬度和经度 我知道如何在页面上使用 AJAX 来完成此操作 但我想直接从我的 C 类文件调用 Google 地理编码服务 有什么方法可以做到这一点 或者我可以使用任何其他服务来实现此目的 你
  • 用 Haskell 编写 Zipwith

    我正在尝试写ZipwithHaskell 中的函数 如果我使用以下值运行它 它应该返回以下结果 Prelude gt zipWith 10 20 30 33 44 94 43 64 124 到目前为止我的代码是 Zipwith f Zipw
  • Google 电子表格“无法调用 null 的方法“getRange””

    如果 B 列从第六行开始的每一行都发生了变化 我想在 A 列中生成一个唯一的 ID 使用 1 到 X 之间的数字作为 ID 就足够了 但在移动 de row 后它不应该改变 但我不断收到错误 无法调用 null 的方法 getRange f
  • 使用所有插件引导新的 Eclipse 机器

    在新机器上引导 Eclipse 是一个非常耗时的过程 您最终会问自己是否真的需要每个插件 但这一切都很方便 并且有助于养成一致的习惯 Eclipse 引导问题包括 解释 记录需要发生的事情 粘贴正确的 URL 并下载的实际时间 版本兼容性和
  • Linux:信号处理程序执行可以被抢占吗?

    我遇到了以下信号处理程序代码 它存储 errno 变量 以便它不会影响主线程的 errno 处理 void myhandler int signo int esaved esaved errno write STDOUT FILENO Go
  • python程序错误elif else if [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions def G
  • 如何在 JavaScript 中找到整数的质因数?

    我试图找到一个数字的质因数 在下面使用 JavaScript 中的 for 循环记录为 整数 我似乎无法让它工作 我不确定这是我的 JavaScript 还是我的计算逻辑 integer is the value for which we
  • Haskell:如何将 IO 输入字符串解析为 Float(或 Int 或其他)?

    我正在尝试制作一个程序 该程序接受用户通过键盘输入的浮点数字并对其进行处理 然而 每次我尝试将输入的字符串解析为浮点数时 我都会收到错误 我尝试过的每一种方法都无法让我获取用户输入的数据并将其转换为我需要的浮点数 我的练习计划 不是我要解决
  • 泰坦数据损坏

    我在调用时遇到异常com tinkerpop blueprints Edge getLabel在某些顶点边上 java lang IllegalStateException Could not find type for id 630 at
  • 填充 int 数组从零到定义的数字

    我需要将 C 中的 int 数组从零填充到变量定义的数字 但 ISO C 禁止可变长度数组 如何轻松填充数组 我需要分配 释放内存吗 int possibilities SIZE unsigned int i 0 for i 0 i lt
  • wix 安装程序ice03 无效语言 ID

    我有一个夜间版本 它在与我的不同的机器上运行在我的机器上 我可以毫无问题地编译安装程序并使用 msi然而在晚上构建机器时我得到 C Builds 73 Tools AppInstaller src AppInstaller APPExpor
  • Python - 无限 While 循环

    我不明白为什么底部的 while 循环是无限循环 User enters a positive integer number user input int input Please enter a positive integer numb
  • Swing 中的交互式平面直线图

    我正在尝试在 JApplet 上绘制交互式平面直线图 PSLG 我使用鼠标单击来确定 PSLG 的顶点 这是我用来绘制 PSLG 边缘的算法 1 将用户执行鼠标单击的点添加为 PSLG 的顶点 2 如果他单击第二个点 则该点和先前单击的点之