问题标签 [paintcomponent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
419 浏览

java - 在 JPanel 上绘制线条而不重新绘制它

我想在 a 上画一条垂直线JPanel,并让它滑过它,而不需要这个过程调用paintComponent(). JPanel我曾考虑过使用,GlassPane但我认为这不是正确的方法,因为框架中还有其他组件包含JPanel,因此它不是特定于它(而且我实际上不确定它不会调用paintComponent()反正)。

有任何想法吗?

0 投票
4 回答
231672 浏览

java - 如何在 JPanel 中绘图?(摇摆/图形Java)

我正在做一个项目,我正在尝试制作一个绘画程序。到目前为止,我已经使用 Netbeans 创建了 GUI 并设置了程序。

截至目前,我可以调用在其中绘制所需的所有协调,但我对如何在其中实际绘制感到非常困惑。

在我的代码快结束时,我尝试在面板内绘图失败。

任何人都可以在这样的示例中解释/展示如何使用图形吗?

我发现的所有示例都创建了一个类并使用它进行扩展,JPanel但我不知道我是否可以这样做,因为它是在 netbeans 中生成的。

我需要在里面画一个JPanel,在我的里面JFrame。我不知道在哪里放置图形类。

JavaPaintUI 类

截屏

整个东西是一个JFrame,中间的白色部分jPanel2就是我想画的。 一些不是这个的代码的屏幕截图

0 投票
3 回答
1173 浏览

java - Java Swing和绘图问题

我画画有问题。我有一个带有一个按钮的框架。使用鼠标,我画了一个半透明的矩形。但我有一个小问题,因为在绘制这个矩形时,它在按钮后面绘制,我希望这个矩形在按钮上方。

这是一个屏幕截图:

这是代码:

我怎么解决这个问题?

0 投票
2 回答
13501 浏览

java - 在 Swing 内的 BufferedImage 中绘画

我正在开发一个用 java 编写的绘图应用程序,并遇到了一些(更多)问题。我有一个 gui 和一个工作程序(有点),我唯一的问题是用户绘制的线条和图形没有保存(绘制下一个后消失)。

从过去的一个问题中,我了解到我需要使用 BufferedImage 来存储图纸,然后在我的绘画类中绘画。

我的问题是,谁能提供有关如何使用缓冲图像存储和绘制绘图的基本解释/示例,如果需要,我将如何将绘制线的颜色和粗细传递到存储的数组中。

那是我的全班。

提前谢谢!

0 投票
2 回答
884 浏览

java - PaintComponent 未被称为 netbeans GUI

我对netbean的图形系统完全陌生,并且一直在努力学习Java教科书。我正在尝试制作一个简单的程序来显示一些东西,并且完全按照本书的要求进行操作。我在研究中发现了很多其他人也有类似的问题。这些人往往被告知要使用维度和首选大小方法,尽管在我试图用 java 复制的书的部分中都没有提到这些方法。以下是我的代码:

0 投票
2 回答
241 浏览

java - 油漆组件问题

super.paintComponent(g) 在这个示例代码中的作用是什么?

0 投票
1 回答
810 浏览

java - JPanel 不重绘,即使调用 repaint() 和 revalidate()

大家好。我有一个 JPanel,它在单击时会改变颜色(这在另一个类中得到了正确处理)。

不幸的是,当我调用 repaint() 方法时,它不会绘制(或者它使用 var currentBGColor 的旧 Color 值调用 paintComponent 方法 -> 请参见下面的代码)

有谁知道为什么它没有用新颜色绘画?

0 投票
2 回答
14138 浏览

java - 在 JFrame 中绘制 Graphics2D

我正在制作一个 2d 垂直射击游戏,其中除了图形之外,所有东西都是编码(和工作)的。我以前没有使用过 Graphics 类,所以这对我来说是全新的。以下是我用来将所有内容绘制到 JFrame 的代码:

第一行“图形 h = new Graphics2D();” 产生错误,因为 Graphics2d 是抽象的,但我不知道从这里去哪里。

我需要代码来获取我拥有的所有图像并将它们绘制到 JFrame 中的点。我提醒您,我以前从未这样做过,所以请告诉我这是否是错误的方法。

0 投票
1 回答
465 浏览

java - super.paintComponents(g) 的 Java 问题,它会生成一个打印屏幕

我正在尝试使用类和层次结构在 java 中进行绘制。但是我的绘画区域没有获得背景颜色(定义为白色),当我单击它时,它会在绘图的 jpanel 区域中生成一个打印屏幕。使用 super.paintComponent(g) 界面看起来不错,但我每次只得到一个点。使用 super.paintComponents(g) 它在 jpanel 区域中打印框架。

关于发生了什么的任何想法?

0 投票
2 回答
627 浏览

java - 带有背景图像和剪切矩形的 JTextPane 问题

我对 Swing 有一个问题,我只是找不到原因。我有一个已扩展为显示背景图像的 JTextPane。这可以是光栅图像(通过标准 Java API 显示)或 SVG 矢量图像(通过 SVG Salamander 显示)。

由于我希望文本窗格在顶部有一个区域用作不显示任何文本的边距,因此我执行以下操作:我覆盖 paintComponent(),绘制背景图像,然后调用 super.paintComponent() 以便将显示文本等,最后我再次绘制了一块背景图像,但使用剪切矩形仅覆盖顶部边缘区域中的文本。

这工作得非常好,除了我几天来一直在努力的一个小故障:使用光栅图像,如果我在文本窗格中选择文本,文本将被删除而不是突出显示。也就是说,当我选择文本时,背景图像会显示在我选择的部分上。我不明白为什么会这样,因为绘制图像的第一个调用是在 super.paintComponent() 之前调用的,第二个调用有一个剪切矩形,所以它只在边距上绘制,如果我不这样做,一切正常t 做出选择。一些额外的线索:

  • 我确实知道这与第二次通话有关,因为如果我评论它,我就没有这个问题(但我没有余量)。
  • 奇怪的是,当背景是矢量图像时,它不会发生,只有光栅图像才会发生。

这是我的 paintComponent() 方法的代码:

如果有人想看看整个课程,这里是:http ://code.google.com/p/aetheria/source/browse/trunk/age/src/eu/irreality/age/swing/FancyJTextPane .java?r=301

请注意,我不是要求修复,因为问题似乎在于与其他类的交互。这就是我没有提供 SSCCE 的原因:我试图构建一个,但如果我单独使用这个类......它实际上可以工作。我无法在整个系统之外重现该问题,而且我不知道是哪种交互产生了它。但我会非常感谢任何提供提示的人指出我正确的方向 - 也许有人以前见过这种事情并且可能知道可能是什么原因......

更新:通过停止使用 setClip(),我设法解决了这个问题。我发现这个答案建议不要在paintComponent()中使用setClip():java swing clipping problem

我现在不使用剪切矩形,而是创建一个子图像,其中包含我想在边缘绘制的图像的顶部,并直接绘制它而不调用 setClip()。这可能效率很低,因为我在内存中存储了两个图像,而一个应该足够了,但至少它可以工作(tm)。如果有人对看到这个黑客感到好奇,它就在这里(代码现在有点脏):http ://code.google.com/p/aetheria/source/browse/trunk/age/src/eu/irreality /age/swing/FancyJTextPane.java?r=305

尽管如此,如果有人能够找出以这种方式使用 setClip() 会导致这些问题的确切原因,或者知道解决此问题的有效方法,那将会很有趣。感谢所有的答案!:)