为什么Graphics类中的drawPolygon方法是抽象的而我仍然可以使用它

2024-01-29

In 图形类 http://download.oracle.com/javase/1.4.2/docs/api/java/awt/Graphics.html#drawPolygon%28int%5B%5D,%20int%5B%5D,%20int%29, 有一个abstract方法定义为

public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)

为什么我仍然可以直接在代码中使用该方法?

EDIT:在Java官方文档中,唯一直接已知子类 of Graphics is Graphics2D,它没有实现该方法,并且没有任何直接已知子类.


是的,您仍然可以使用它,因为您实际上并没有在代码中使用抽象类 Graphics。您的应用程序将使用 Graphics 的具体子类,该子类被传递给诸如paintComponent(Graphics)。这个具体的子类将有drawPolygon(int[], int[], int)实施的。

This lesson http://download.oracle.com/javase/tutorial/uiswing/painting/index.html在 Swing 中绘画可能有助于提供有关这些方法如何工作的更多细节。文章在 AWT 和 Swing 中绘画 http://java.sun.com/products/jfc/tsc/articles/painting/也会有用的。

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

为什么Graphics类中的drawPolygon方法是抽象的而我仍然可以使用它 的相关文章

  • 将 java 方法参数设置为最终参数

    那有什么区别final在下面的代码之间进行 将参数声明为有什么好处final public String changeTimezone Timestamp stamp Timezone fTz Timezone toTz return pu
  • Java:Swing:设置JButton的位置

    我想实现以下布局 OK
  • 如何确定 JDialog 显示在哪个屏幕上

    我有一个非常大的应用程序 有多个对话框 我的任务是确保不完全可见的对话框 因为用户将其从可见屏幕区域拉出 移回屏幕中心 当我只处理一个屏幕时 这没问题 它工作得很好 但是 该应用程序的大多数用户的桌面上都有两个屏幕 当我尝试找出对话框显示在
  • 带嵌入式 tomcat 的 spring-boot 不会将请求分派到控制器

    我有一个使用 spring boot 和嵌入式 Tomcat 容器的应用程序 据我所知 我的代码与 spring boot 相同示例项目 https github com spring projects spring boot tree m
  • Android Fabric Crashlytics 崩溃,初始化时未找到资源

    我从 google play 控制台收到了这份报告 看起来 Fabric 在启动时崩溃了 因为某些用户出现了资源未找到的异常 java lang RuntimeException at android app ActivityThread
  • 如何从 Java 生产代码中删除调试语句

    编译器是否可以从生产代码中删除用于调试目的 例如日志记录 的语句 调试语句需要以某种方式进行标记 可能使用注释 设置属性 debug true 并在每个调试语句中检查它很容易 但这会降低性能 如果编译器能够简单地使调试语句消失 那就太好了
  • Android 的@hide 注解到底有什么作用?

    Android中很多内部API都被标记出来了 hide What exactly这是吗 另一个答案 https stackoverflow com questions 17035271 what does hide mean in the
  • 覆盖乔达一周的第一天?

    是否有可能覆盖乔达弱的第一天sunday 因为 Joda 使用Monday作为一周的第一天 如果有办法的话 谁能解释一下 我在 SOF 中提到了以下主题 乔达时间 一周的第一天 https stackoverflow com questio
  • 基于磁盘的 HashMap [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Java 是否有 或者是否有可用的库 允许我拥有基于磁盘的 HashMap 它不需要是原子的或任何东西
  • java springrabbit - 优雅地拒绝消息

    我有以下侦听器方法 Override public void onMessage Message message Channel channel try do something bad catch Exception e try long
  • org.apache.poi 中的异常

    我试图编写一个可以读取和写入的程序 xlsx文件中 下面提供的代码旨在能够编写其第一个 Excel 程序 package excel reader import java io FileOutputStream import java io
  • 将序列化数据发送到 servlet 时出现 java.io.EOFException

    我正在尝试从 Java 本地应用程序上传一个包含文件到服务器的对象 我的计划是 在 tomcat 上运行的 servlet 将使用以下方法获取对象ObjectInputStream in the doGet方法 但我得到一个EOFExcep
  • 如何让 Camel FTP 按需只获取一次

    我对骆驼还很陌生 我一直在尝试让 Camel 根据需要仅通过 FTP 获取单个文件一次 我无法让它发挥作用 这是我尝试过的 让我知道什么是最好的方法以及我的代码有什么问题 1 读取文件后发送一条空消息当收到空消息时 停止路由 from di
  • 致命异常:OkHttp 调度程序

    我在 Android 应用程序中使用 OkHttp 库向天气 API 发出 Web 请求 我已经实现了我的代码 但在执行请求时遇到了致命异常 我也已经在我的清单中添加了互联网权限 MainActivity java private Curr
  • java.lang.IllegalStateException:FragmentManager 已被销毁

    活动中onResume我称之为 volley request 的方法 它获取项目列表 然后将它们加载到此活动内的 ListFragment 中 当我第一次进入活动时 一切正常 但当我重新进入活动时 ListFragment 为空 并且控制台
  • 使用替换但不使用根元素的 Jaxb 继承

    我正在浏览布莱斯的博客http blog bdoughan com 2010 11 jaxb and inheritance using substitution html http blog bdoughan com 2010 11 ja
  • 当框架被拖动时,如何设置 JWindow 的位置位于文本字段下方?

    我正在制作一个自动完成项目 就像谷歌一样 我的框架中有一个 jtextfield 每当我在该字段中输入内容时 该文本字段下方就会出现一个 JWindow 并且该窗口来自另一个类 现在的问题是 每当我拖动框架时 如何使窗口始终出现在文本字段下
  • 如何使用 iBatis (myBatis) 的注释进行 IN 查询?

    我们只想在 MyBatis 中使用注释 我们确实在努力避免使用 xml 我们尝试使用 IN 子句 Select SELECT FROM blog WHERE id IN ids List
  • SWT StyledText 有高度限制吗?

    我正在尝试创建一个应用程序 其中包含在 ScrolledComposite 中显示的 StyledText 框 我在 StyledText 框中显示大量行时遇到困难 超过 2 550 行似乎会导致问题 StyledText 框本身不能有滚动
  • 与手动搜索列表相比,Collections.binarySearch 的性能如何?

    我想知道该使用哪一个 我有一份学生名单 我想用他的名字搜索一个学生 到目前为止 我是通过迭代列表手动完成的 如下所示 for int i 0 i lt list size i Student student list get i if st

随机推荐

  • java中的package语句有什么理由应该放在开头吗?

    我从 Java 编程语言开始 我有一个简单的问题 在 java 包中 如果类是包的一部分 则 package 语句必须位于源代码文件中的第一行 位于可能存在的任何 import 语句之前 包声明应该放在开头有什么有价值的理由吗 有理由吗 当
  • 使用elasticsearch-river-mysql将数据从MySQL数据库流式传输到Elasticsearch

    我想用Elasticsearch 河 mysql https github com scharron elasticsearch river mysql以便不断地将数据从 MySQL 数据库传输到 ElasticSearch 我是 ES 和
  • 检查函数是否属于/哪个工具箱

    我们的工作站上安装了一个相对 丰富 的matlab 我现在需要发送一些代码到 并且我想检查它需要哪些工具箱才能正常工作 最简单的方法是什么 如何找出某个功能属于哪个工具箱 我看到两个问题 我要发送的函数需要哪些工具箱 你需要生成一个依赖性报
  • STATICFILES_DIRS 设置不应包含 STATIC_ROOT 设置

    我正在使用 Django 1 7 将我的网站部署到生产服务器并运行时collectstatic 我收到以下错误消息 django core exceptions ImproperlyConfigured STATICFILES DIRS 设
  • 将反应本机升级到最新版本

    我有一个在react native 0 49 3 上运行的应用程序 我想升级到最新版本 v0 57 4 我应该逐步更新它吗 例如 0 49 gt 0 50 gt 0 51 等 或者我可以直接更新到最新版本吗 你建议使用react nativ
  • 委托和谓词查询

    我正在学习 lambda 并试图理解为什么 同时拥有 EmployeeFilterAge 类 如下所示 public class EmployeeFilterAge int age public EmployeeFilterAge int
  • iOS 8 Safari 打印重定向不会停止 javascript 执行

    我需要提供在成功保存时以及打印重定向到搜索页面后打印标签的能力 这适用于 chrome firefox ie iOS 6 7 safari 等 但是 当从 javascript 发出 window print 时 iOS 8 似乎不再停止
  • 运行 zipalign 时出错

    尝试在 Eclipse 中导出签名的 apk 时出现此错误 运行 zipalign 时出错 打不开 作为 zip 存档 我已运行 帮助 gt 检查更新 以确保安装了最新更新并且 SDK 工具也是最新的 我收到了同样的错误消息 让我发疯 直到
  • 从类路径中动态删除 jar

    我有一个要求 必须根据从 UI 捕获分布的分布来更改 jar 一组与另一组的分布各不相同 如果选择了某个发行版 则必须以动态 编程方式将与该发行版相关的 jar 添加到类路径中 如果选择另一个发行版 则必须动态地从类路径中删除添加到类路径的
  • 返回只出现一次的数字 (JavaScript)

    假设我有数组 1 2 3 5 2 1 4 如何让 JS 返回 3 4 5 我在这里查看了其他问题 但它们都是关于删除多次出现的数字的副本 而不是原始文件和副本 Thanks Use Array filter https developer
  • 调用 win32 API 并对类函数进行回调

    我试图通过将一些现有的 win32 UI 代码放入一个类中来清理它 以前我有一个像这样的 AppDlgProc 函数 BOOL CALLBACK AppDlgProc HWND hDlg UINT uMsg WPARAM wParam LP
  • 将 JTextField 添加到游戏菜单 (graphics2d)

    我正在开发一款多人游戏 在菜单中 我需要添加一个字段 玩家可以在其中输入主机 IP 我正在使用 Graphics2D 制作菜单 并循环更新它 JFrame screenFrame screen getFullScreenWindow whi
  • 自定义 UITableViewCell prepareForReuse 未按预期工作

    My prepareForReuse无法正常工作 我有一个UITableView那应该有一个login UIButton仅在表的第一部分的第一行中 但当 在prepareForReuse 我删除了login按钮 它会保留并进入下一批行 视频
  • 在 Jekyll 中显示一个文件夹下的页面?

    我认为管理 Jekyll 页面的本机方式 即通过在根文件夹下创建 md 文件 文件夹 有点混乱 因此 我想将我想要显示的每个页面放入名为 pages 的文件夹中 此外 我希望这些页面具有级联结构 假设我的文件夹具有以下结构 pages gt
  • 为什么标签的 href 属性会打印到屏幕上? [复制]

    这个问题在这里已经有答案了 可能的重复 显示带有蓝图的 URL 的超链接 https stackoverflow com questions 4258417 hyperlinks showing url with blueprint DOM
  • 扩展 umbraco 仪表板

    我想将我自己的部分添加到 umbraco 仪表板 以便我可以将我自己的管理部分集成到现有的登录 管理结构中 这是否可以在不编辑和重新编译 umbraco 源代码本身的情况下实现 推荐吗 如果是这样 有人有资源开始这样做吗 是的 这是可能的
  • Ios的Uiwebview可以打开.mht或者.mhtml文件吗

    是否有任何标准将 mht 文件转换为 html 所以我可以在 iosWebview 中打开它 我可以在 ios webview 中打开 mht 文件吗 是否有任何库或第三方工具可以执行相同的操作 None
  • 我无法使用 ChromeDriverManager().install() 安装 ChromeDriverManager

    我已经学习Python 2个月了 这个错误从来没有在我身上发生过一次 但突然我无法下载CHROMEDRIVERMANAGER 每当我进入其网站手动下载它时 它就会说 该 XML 文件似乎没有任何样式信息 文档树如下所示 错误 Access
  • 如何将 PyCharm 连接到位于 Docker 容器内的 python 解释器?

    我从 Docker 开始 但我不知道如何配置 PyCharm 以使用位于容器中的 python 解释器 使用 Vagrant 设置很容易 https www jetbrains com pycharm quickstart configur
  • 为什么Graphics类中的drawPolygon方法是抽象的而我仍然可以使用它

    In 图形类 http download oracle com javase 1 4 2 docs api java awt Graphics html drawPolygon 28int 5B 5D 20int 5B 5D 20int 2