super.paintComponent(g)做了什么(特别是当我们将它放在paintComponent()方法中时)?我很惊讶之前没有看到有人在SO中问过这个问题。我翻出我关于JavaGraphics的学校笔记,它在这行代码中唯一提到的是“不要删除”。然而,这几周我一直在练习和尝试使用JavapaintComponent()方法。到目前为止,我还没有将该行包含到我的代码中,而且一切似乎都运行良好(到目前为止)。所以..问题:它有什么作用?我们什么时候需要使用它?把它写在paintComponent()里给我们带来什么好处? 最佳答案
你好,我是java编程新手,我需要有人解释我这些代码行:publicclassdrawpanelextendsJPanel{publicvoidpaintComponent(Graphicsg){super.paintComponent(g);...}}我不明白publicvoidpaintComponent(Graphicsg)行:如果它是在JPanel中预定义的,为什么我必须这样声明该函数?还有这一行super.paintComponent(g):我完全看不懂。感谢您的帮助。 最佳答案 基本结构:extends关键字表示Draw
你好,我是java编程新手,我需要有人解释我这些代码行:publicclassdrawpanelextendsJPanel{publicvoidpaintComponent(Graphicsg){super.paintComponent(g);...}}我不明白publicvoidpaintComponent(Graphicsg)行:如果它是在JPanel中预定义的,为什么我必须这样声明该函数?还有这一行super.paintComponent(g):我完全看不懂。感谢您的帮助。 最佳答案 基本结构:extends关键字表示Draw
我真的被困在如何进行编程上。如何在Java中绘制一个半径和边缘周围的圆?我需要在JFrame内绘制一个圆,其半径和点围绕圆周。我可以数学计算如何找到边缘周围点的坐标,但我似乎无法对圆进行编程。我目前正在使用Ellipse2D方法,但这似乎不起作用并且不返回半径,据我了解,它不会从中心绘制圆,而是使用高度和宽度从起始坐标绘制圆。我当前的代码在一个单独的框架上,但我需要将它添加到我现有的框架中。importjava.awt.*;importjavax.swing.*;importjava.awt.geom.*;publicclasscircleextendsJFrame{publiccir
我真的被困在如何进行编程上。如何在Java中绘制一个半径和边缘周围的圆?我需要在JFrame内绘制一个圆,其半径和点围绕圆周。我可以数学计算如何找到边缘周围点的坐标,但我似乎无法对圆进行编程。我目前正在使用Ellipse2D方法,但这似乎不起作用并且不返回半径,据我了解,它不会从中心绘制圆,而是使用高度和宽度从起始坐标绘制圆。我当前的代码在一个单独的框架上,但我需要将它添加到我现有的框架中。importjava.awt.*;importjavax.swing.*;importjava.awt.geom.*;publicclasscircleextendsJFrame{publiccir
我正在尝试创建一个不可见AWT组件的图像(屏幕截图)。我无法使用Robot类的屏幕捕获功能,因为该组件在屏幕上不可见。尝试使用以下代码:BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics2Dg=image.createGraphics();component.paintAll(g);有时有效,但如果组件包含文本框或按钮或某种OpenGL/3D组件(这些东西不在图像中!)之类的东西,则不起作用。如何正确截取整个画面? 最佳答案
我正在尝试创建一个不可见AWT组件的图像(屏幕截图)。我无法使用Robot类的屏幕捕获功能,因为该组件在屏幕上不可见。尝试使用以下代码:BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics2Dg=image.createGraphics();component.paintAll(g);有时有效,但如果组件包含文本框或按钮或某种OpenGL/3D组件(这些东西不在图像中!)之类的东西,则不起作用。如何正确截取整个画面? 最佳答案
我开发了一个用于定位信号塔信号强度的电信应用程序。我使用了javaswing,在移动信号发射塔位置的给定点周围绘制圆圈时遇到问题。我已经计算了X、Y坐标和半径值。请找到下面我用来绘制圆圈的代码,但它有问题。JPanelpanelBgImg=newJPanel(){publicvoidpaintComponent(Graphicsg){g.drawOval(X,Y,r,r);}}问题是,它创建了圆,但没有将X和Y坐标作为中心点。它将X和Y坐标作为圆的左上角。谁能帮我把给定的X和Y坐标作为圆的中心点来画圆。 最佳答案 fillOval将
我开发了一个用于定位信号塔信号强度的电信应用程序。我使用了javaswing,在移动信号发射塔位置的给定点周围绘制圆圈时遇到问题。我已经计算了X、Y坐标和半径值。请找到下面我用来绘制圆圈的代码,但它有问题。JPanelpanelBgImg=newJPanel(){publicvoidpaintComponent(Graphicsg){g.drawOval(X,Y,r,r);}}问题是,它创建了圆,但没有将X和Y坐标作为中心点。它将X和Y坐标作为圆的左上角。谁能帮我把给定的X和Y坐标作为圆的中心点来画圆。 最佳答案 fillOval将
这可能是一个非常菜鸟的问题。我刚开始学习Java不明白paintComponent方法的操作。我知道如果我想画一些东西,我必须重写paintComponent方法。publicvoidpaintComponent(Graphicsg){...}但是什么时候调用呢?我从来没有见过像“object.paintComponent(g)”这样的东西,但它仍然是在程序运行时绘制的。什么是Graphics参数?这个从哪里来?调用方法时必须提供参数。但正如我之前所说,似乎从未显式调用此方法。那么这个参数是谁提供的呢?为什么我们必须将其转换为Graphics2D?publicvoidpaintComp