如何用Swing制作画布?

2023-12-06

我正在尝试用 Java 制作一个绘画编辑器,其中有一个工具栏,其中包含我想要粘贴到画布中的对象。我使用 Swing 组件来制作 GUI,但是当我寻找制作画布的方法时,我只找到了 AWT 中的类画布。

有没有办法用Swing制作类似canvas的东西? (例如,JPanel?)我读到,使用 AWT 中的类画布与 swing 制作的 GUI 无法正常工作,是这样吗?


为了在 swing 中制作自定义“画布”,您通常会编写一个JPanel。然后,您必须覆盖protected paintComponent(Graphics g)的方法JPanel.

在paint方法中,您可以调用方法Graphics实际绘制的对象JPanel.

与往常一样,Java 教程有一个很好的参考在此帮助您入门。

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

如何用Swing制作画布? 的相关文章

  • 将一种类型的对象声明为另一种类型的实例有什么好处? [复制]

    这个问题在这里已经有答案了 可能的重复 Base b2 new Child 是什么意思 表示 https stackoverflow com questions 4447924 what does base b2 new child sig
  • 如何使用 Maven Failsafe 插件运行 JUnit 5 集成测试?

    当我运行命令时 Maven Failsafe 插件找不到我的 JUnit 5 集成测试mvn clean failsafe integration test 尽管它可以找到文件 我有junit jupiter api and junit j
  • 单元测试组合服务方法

    我正在为一个类编写 junit 单元测试 该类使用以下方法实现公开的接口 public Set
  • 如何提取文件 jre-9/lib/modules?

    In JRE 9 lib目录 至少在 Windows 上 有一个名为modules其大小约为107 MB 是否可以提取该文件或在其中列出 java 模块 我可以看到一个名为jmod可以在jdk 9 bin jmod exe 但那是为了阅读
  • 在 Java 中从 SOAPMessage 获取原始 XML

    我已经在 J AX WS 中设置了 SOAP WebServiceProvider 但我无法弄清楚如何从 SOAPMessage 或任何 Node 对象获取原始 XML 下面是我现在获得的代码示例 以及我试图获取 XML 的位置 WebSe
  • 项目缺少所需的注释处理库

    我的 Eclipse IDE 突然在问题视图中显示 xxxx 项目缺少所需的注释处理库 xxxx M2 REPO 中的一些旧 jar 我用谷歌搜索 没有找到任何答案 为什么我的项目使用旧的 jar 以及错误来自哪里 To remove th
  • 尝试获取屏幕上绘制的每个随机圆圈的 x、y 坐标

    您好 我正在制作一款游戏 该游戏将在屏幕上创建随机圆圈 随机创建的圆圈的值为红色或绿色 我的问题是 我希望不仅能够确定用户何时单击其中一个圆圈 而且还能够确定他们最终单击的圆圈 红色或绿色 下面是我的代码 我的主要问题是试图找到将要绘制的圆
  • 使用 JSch 分别为各个提示提供输入

    问题是 SSH 连接需要在常规登录后提供另一个用户 ID 和密码信息 我正在使用 JSch 连接到远程服务器 它接受以下形式的输入InputStream 和这个InputStream只能通过一次 由于会话是交互式的 这会导致问题 我尝试将输
  • OpenNLP 与斯坦福 CoreNLP

    我一直在对这两个包进行一些比较 但不确定该往哪个方向走 我简单地寻找的是 命名实体识别 人 地点 组织等 性别识别 一个不错的训练 API 据我所知 OpenNLP 和斯坦福 CoreNLP 提供了非常相似的功能 然而 Stanford C
  • 关于Java泛型的一些问题

    假设我有以下接口和实现类 interface Foo
  • Blackberry - 自动滚动垂直字段管理器

    如何以编程方式沿特定方向滚动屏幕而不改变焦点 例如 当我们向下滚动到 FaceBook 应用程序中的 Feed 时 它会自动滚动屏幕以适合屏幕中央的所有文本 这可以在 Blackberry Java 开发中完成吗 谢谢 阿夫扎尔 如果出现以
  • Android volley使用RequestFuture.get()时出现超时异常

    在我的片段中 我尝试使用 TMDB 的开放电影数据库来获取有关 正在播放 电影的详细信息 如果我使用 RequestFuture get time TimeUnit 方法来执行此齐射请求 我总是会收到超时错误 如果我在 Safari 中手动
  • LocalDate 减去 period 得到错误的结果

    LocalDate减去一个Period 如 28年1个月27天 得到错误的结果 但减去一个Period 只有天单位 如 10282 天 得到正确的结果 有什么需要注意的吗 public static void main String arg
  • java.lang.Object的hashCode具体使用的算法是什么

    中使用的算法是什么JVM实施java lang Object的隐含的hashCode 方法 OpenJDK or Oracle JDK答案中首选 它依赖于实现 并且在很大程度上 该算法是entirely取决于实施 只要它是一致的 但是 根据
  • 如何在 Bean Validation 1.0 中构造 ConstraintViolationException?

    我对 javax validation API 感到困惑 我正在编写一个简单的测试来理解它 Sample sample new Sample Set
  • 使用 HTTPServletRequestWrapper 包装请求参数

    我有一个可以验证 授权 REST 调用的过滤器 该过滤器需要访问请求参数 因此我为此编写了一个自定义 HTTPServletRequestWrapper import java util Collections import java ut
  • Java:一个函数有多种返回类型...可以使用泛型吗?

    为了简单起见 我有一些程序 如下所示 public String fetchValueAsString String key public DateTime fetchValueAsDateTime String key 我想要类似的东西
  • java中的预增量/后增量

    有人可以帮助我理解为什么 int i 1 int j 1 int k 1 int l 1 System out println i i System out println j j System out println k k System
  • Java 中的微分方程

    我正在尝试用java创建一个简单的SIR流行病模型模拟程序 基本上 SIR 由三个微分方程组定义 S t l t S t I t l t S t g t I t R t g t I t S 易感人群 I 感染人群 R 康复人群 l t c
  • 如何使用注释处理 Hibernate 和 Spring 中的连接查询?

    我正在使用 Spring 和 Hibernate 以及 MySQL 开发应用程序 我是 Hibernate 新手 完成了基本任务 现在我需要在选择查询中应用联接以使用注释从多个表中获取数据 我已经搜索过但仍然没有任何想法 这是我的数据库表和

随机推荐

  • IBM Watson Conversation API:“预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段授权”

    我创建了一个连接到 Watson REST API 的 React Native 应用程序 使用 ReactNative 中的 fetch 库 获取工作区列表的一切都运行良好 如下所示 const myAuth new Buffer USR
  • Amazon s3 Elastic Transcoder 错误:找不到指定的管道

    我正在使用 aws sdk php 集成 Amazon s3 Elastic Transcoder 我用http elastictranscoding blogspot in 链接来完成我的任务 在实现时我面临以下错误 致命错误 未捕获的
  • 如何从命令输出中获取第二列?

    我的命令的输出类似于 1540 A B 6 C 119 D 第一列始终是一个数字 后跟一个空格 然后是一个双引号字符串 我的目的是只获取第二列 例如 A B C D 我打算使用
  • Twitter bootstrap - 图像未显示

    我的网站在 Google Chrome 中运行良好 但在其他浏览器 Firefox Safari 中运行不佳 我的以下代码部分有问题 div class span2 img src images ads karaoke png br br
  • 如何将 Spring 数据查询记录到 Couchbase 数据库

    In my Spring Boot应用程序我们有一个Spring Data存储库连接到Couchbase server 我知道 当连接到 SQL Server 时 可以通过添加到属性文件行 例如这一行 来查看发送到数据库的实际查询 正如这里
  • 检查 python 列表中的重复项

    我见过这个问题的很多变体 从简单的删除重复项到查找和列出重复项 即使尝试从这些例子中提取一些片段也无法得到我的结果 我的问题是如何检查我的列表是否有重复的条目 更好的是 我的列表是否有非零重复项 我有几个想法 empty list myLi
  • 我还可以在哪里声明 angular-cli 中包含的脚本?

    In angular cli json I have polyfills polyfills ts scripts script1 ts 我想添加另一个 polyfill 脚本ie11具体来说 我可以在最终构建时将其包含在条件注释中 以减少
  • 日语字符串上的explode()

    我必须对日语文本使用explode 函数 但它不起作用 这是我所拥有的一个例子 string 私 人 string explode string print r string 那打印 Array 0 gt 私 人 代替 Array 0 gt
  • 启动画面就像点击复仇 3

    感谢您花时间阅读此消息 我希望你能够回答我的问题 我想在现有项目中添加一个类似于 点按复仇 3 的启动画面 它基本上显示一个屏幕 2 秒 然后另一个屏幕 2 秒 然后立即显示菜单 谁能告诉我如何才能创造出这样的东西 谢谢 显然 对于启动画面
  • Sparql 查询某个类的子代、孙子等

    我有一个在 Protege 中构建的 owl 文件 什么是 sparql 查询 它将选择一个类的所有子类以及这些子类的所有子类 依此类推 广度优先搜索排序方式 这可能会被回答Sparql 查询子类或等效项 但是这个问题及其答案包含了比您在这
  • 检测到 POSIX 系统上的日志文件已被删除或截断?

    假设一个长时间运行的进程写入日志文件 假设日志文件无限期地保持打开状态 假设粗心的系统管理员删除了该日志文件 程序能检测到这种情况发生了吗 可以安全地假设fstat 会报告已删除文件的链接计数为零吗 在我看来 截断有点棘手 在某种程度上 这
  • 找不到符号错误:Lombok 1.18.6 不适用于 Gradle 5.2.1、JDK 10

    使用 Gradle 5 2 1 和 Lombok 1 18 6 依赖项进行的构建在 JDK 10 中失败 Lombok 注释似乎没有得到正确处理 我在源代码中的各种 Java 文件中不断收到 找不到符号 错误 对于为什么会发生这种情况有什么
  • 如何从使用 write.table 创建的 CSV 文件中删除尾随空白或换行符?

    我想将 R 中的数据帧写入 CSV 文件 考虑下面的玩具示例 df lt data frame ID c 1 2 3 X c a b c Y c 1 2 NA df which is na df Y 1 write table t df f
  • 最小最大值二维数组javascript

    我发现了很多类似的帖子 但还没有一个完全满足这个问题 如何从 javascript 中的以下 2D 数组中获取最小值和最大值 1 2 3 4 5 6 7 8 9 即返回 1 和 9 this问题不完全是我想要的 因为用户想忽略第 0 列 并
  • Prolog:将列表拆分为两个列表(唯一项/重复项)

    我一直在尝试将给定列表拆分为两个不同的列表 唯一列表和重复列表 例如 如果我们有列表 1 1 2 3 3 4 5 我希望唯一列表是 2 4 5 并复制为 1 3 我不希望列表中的所有 1 都出现在重复列表中 我只需要其中之一 我现在拥有的代
  • HTML5 画布中最简单的幻灯片,canvas.context.clearRect 不适用于 setTimeout

    这是一个非常简单的幻灯片的代码 应在 4 秒内显示 4 张图像 每秒一张图像 相反 我得到了 4 秒的延迟 然后所有图像都绘制在彼此之上 我究竟做错了什么
  • 谷歌地图只加载了一半

    查看上面的图片并尝试 URL gt http domainsoutlook com s site stackoverflow com html并转到服务器信息选项卡 我注意到的荒谬之处是 如果我加载http domainsoutlook c
  • 仅在一台机器上出现 HTML 对齐问题(均为 IE8)

    我有以下 HTML 和 CSS 代码 一机在IE8下运行良好 但在第二台机器上与 IE8 不一致 为了纠正它需要改变什么 注意 未对齐是针对 Logout 文本 注 图像尺寸为214 X 57 注意 两个系统都具有相同的分辨率和 100 缩
  • 在 D3 中加载 TopoJSON 文件时的随机行

    我正在尝试显示意大利制图形状文件 例如这个 使用D3 js 我可以加载 Zip 文件地图塑造者 查看地图 将其简化并导出为 TopoJSON 我可以在 MapShaper 中加载 TopoJSON 它看起来仍然没问题 但是当我尝试使用 D3
  • 如何用Swing制作画布?

    我正在尝试用 Java 制作一个绘画编辑器 其中有一个工具栏 其中包含我想要粘贴到画布中的对象 我使用 Swing 组件来制作 GUI 但是当我寻找制作画布的方法时 我只找到了 AWT 中的类画布 有没有办法用Swing制作类似canvas