graphics2d相关内容

在JPanel上绘制可移动线

我正在编写一个程序,该程序应该允许用户创建房间的平面图 - 这意味着他们可以绘制线条来代表墙壁等。我正在使用带有图形2D的JPanel来完成所有绘图工作我有一个网格设置作为JPanel的背景,我可以根据鼠标移动绘制线条(我有一个枚举鼠标状态有两种状态 - DRAGGING和IDLE)。但是我想在线上添加控制点,这样一旦它们被绘制就可以在JPanel周围移动它们,我无法弄清楚如何做到这一点。我知道我 ..
发布时间:2019-01-02 10:18:03 Java开发

如何有效地实现java.awt.Composite?

背景:我需要能够以“禁用”外观创建图像。通常建议的方法是将图像转换为灰度并显示灰度图像。缺点是它只适用于图像,因此显示图形很麻烦,因为您无法立即访问处于禁用状态的图像。 现在我认为这可以使用java.awt.Composite动态完成(然后我不需要知道如何实现一个Icon来禁用它)。只有似乎没有实现转换为灰度,所以我不得不创建自己的... 这就是说,我一起攻击了一个实现(并且它呈现了什么我 ..
发布时间:2018-12-28 22:11:08 Java开发

Java图形重绘问题

在java中使用简单的画笔时出现问题。让我的清除按钮重绘的问题。阵列正在清除,但没有重新绘制。任何人都可以发现我的问题,或者是否有任何不同的方法为此代码生成一个清除按钮。 公共类DrawingPanel扩展JPanel { private double x1 = 0; private double x2 = 0; private double y1 = 0; private d ..
发布时间:2018-12-28 15:58:18 Java开发

用Java绘制像素图像

哪种方法是使用java创建像素图像的最佳方法。 说,我想创建一个尺寸为200x200的像素图像,总共为40.000像素。如何从随机颜色创建像素并将其渲染到JFrame上的给定位置。 我试图创建一个只创建像素的自己的组件但是如果我使用for循环创建这样一个250,000倍的像素,这似乎不是非常高效将每个实例添加到JPanels布局。 class Pixel扩展JComponent { ..
发布时间:2018-12-27 18:17:55 Java开发

为Graphics2D绘图创建空间

我想绘制一个由Graphics2D矩形组成的简单板,但我也希望在这个板下有一个JButton。我知道这个板的确切尺寸(以像素为单位),我试图处理 getContentPane()方法和BoxLayout,如下所示: frame.getContentPane()。add(board); frame.getContentPane()。add(Box.createRigidArea(new ..
发布时间:2018-12-24 13:32:58 Java开发

在Java中旋转多边形

我正在编写的程序在屏幕上绘制多个星星,并为它们提供随机指示和速度。星星会从面板的边缘反弹并留在里面。我需要让星星在移动时旋转。我尝试了很多东西,我无法弄明白。下面是我用来绘制星星并移动它们的代码。 其他信息: - 星星在一个名为“星星”的集合中 - 我写了两个类,“Star”和“MyJPanel” 设置点数:(星级) for(double current = 0; ..
发布时间:2018-12-24 12:37:09 Java开发

如何在java中使用y = mx + b绘制一条线?

所以我有一个解决线性方程组的程序,但这不相关。那么我的程序会以下列形式传递两个线性方程:y = mx + b。我不知道如何使用Graphics2D绘制图形,我在解决它时遇到了一些麻烦。现在我不知道所以我没有可以告诉你的代码,但我可以告诉你: 我的程序正确将Ax + By = C转换为y = mx + B 在某些代码中使用drawLine()方法显示示例会很有帮助 解决方案 在代码中 ..
发布时间:2018-12-24 12:08:39 Java开发

围绕其中心旋转移动的形状

我在Java中制作2D游戏,玩家通过障碍物引导多边形。多边形上下移动,游戏世界左右滚动。我需要多边形围绕其中心旋转,但由于它经常被平移,所以它围绕移动旋转。尝试将其转换回原始中心,旋转它并将其翻译回来并不起作用。如何获得形状的中心? 这是我在2ms计时器上的运动计算: @Override public void actionPerformed(ActionEvent e){ ..
发布时间:2018-12-24 12:08:18 Java开发

在另一个图像下旋转一个图像

我目前正在尝试旋转图像,然后在顶部绘制一个不旋转的图像。但每当我使用: g2d.rotate(Math.toRadians(rot),(x + 15),(y + 15)); 我之后绘制的每个图像也会旋转。有什么方法可以旋转一个图像而不是旋转其余的图像(这真的很难解释)。 这是我的绘画方法: public void draw(Graphics2D g2d) { move (); ..
发布时间:2018-12-22 19:46:34 Java开发

旋转矩形并在sin波中移动它 - 使用graphics2D帮助

嗨! 我使用之前的Stackoverflow帖子获得以下代码。 我想要旋转矩形按一定角度移动并使其在sin波中移动。 此代码也会旋转整个sin波。 我理解为什么会这样,但我不知道如何实现我的意图。 请帮助!!! 非常感谢您花时间。 import java.awt.BorderLayout; import java.awt.Color; impor ..
发布时间:2018-12-21 20:52:01 Java开发

Java中的笛卡尔平面

在学习周期,数组,方法之后......我开始玩图形但我遇到了一些问题。当我看到这个时,我正在寻找一些例子: http ://javaceda.blogspot.ch/2010/06/draw-cartesian-coordinate-system-in.html 它提供了一个笛卡儿的例子在Java的飞机。我几乎可以理解该代码的所有内容(除了几行如invokelater,SwingUtilit ..
发布时间:2018-12-21 20:41:16 Java开发

使用Java的Path2D创建钢笔工具的问题

我一直在尝试使用Path2D类和鼠标监听器为我的Java绘图程序创建一个笔工具,但我有令人困惑的结果。该工具将工作几秒钟,但随后整个应用程序将冻结,必须关闭。 (这里没有例外;程序只是冻结)。这是一个证明问题的SSCCE: import java.awt.BasicStroke; import java.awt.event.MouseAdapter; import java.awt ..
发布时间:2018-12-21 19:45:40 Java开发

行没有出现在JDesktopPane上

我想在两个JPanel之间绘制线条,但是line不会出现在layeredPane上。 这就是我所做的,请完成它,编译。试试吧更正此代码。我试过这种方式在内部框架上绘制线条,但它不适用于JPanels。 包构建; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; ..
发布时间:2018-12-20 21:21:44 Java开发

Java用箭头键在gui中移动一个圆圈

我正在尝试使用keyEvent移动一个圆圈。到目前为止,圆圈是在窗口上绘制的,但它不会向左移动!我觉得问题是我将Window()构造函数添加到容器的位置。控制台上没有输出告诉我它正在工作。所以我不认为它甚至到达KeyEvent类。这是我的代码: import java.awt。*; import java.awt.event。*; import java.awt.geom.Elli ..
发布时间:2018-12-20 01:53:35 Java开发

为什么在重绘()之后不会出现方块?

我稍早发布了这个问题并且被告知要把它变成SSCCE所以这里(如果我可以做任何改进,请随时告诉我): 我想知道为什么当我的按钮“确认”单击旧方块消失,重新绘制的方块不会出现在我的GUI上(用摆动制作)。 Squares类绘制了200个间隔开的正方形,其中ID(0,1,2或3作为字符串)从不同的类中获取(为了这个问题的目的,我们假设它始终为0并且不包括该类)。为了澄清:Squares第一次完美地绘制 ..
发布时间:2018-12-20 01:41:40 Java开发

了解BufferStrategy

我是java的新手。我想做一个游戏。经过大量的研究,我无法理解bufferstrategy的工作原理.. 我知道基础知识..它创建了一个离屏图像,以后可以放入你的windows对象..我得到了这个 公共类Marco扩展JFrame { private static final long serialVersionUID = 1L; BufferStrategy bs; //为多缓冲创 ..
发布时间:2018-12-10 21:53:13 Java开发

将Graphics2d调整为JScrollPane

关于问题调整组件大小而不重新绘制是我的问题在表单中创建可重新定义的自定义Graphics2d import java.awt。*; import java.awt.event。*; import javax.swing。*; 公共类ZoomWithSelectionInViewport实现MouseWheelListener { private JComponent b ..
发布时间:2018-12-10 10:32:53 Java开发

Java ARGB到JPG

如何将带有 TYPE_INT_ARGB 的 BufferedImage 保存到jpg? 程序生成该图像: 这没关系,但是当我以这种方式保存时: ByteArrayOutputStream byteStream = new ByteArrayOutputStream (); BufferedOutputStream bos = new BufferedOutputStream ..
发布时间:2018-12-07 18:47:02 Java开发

为什么必须使用paintComponent方法在Java中绘制?

我希望这个问题不会被视为过于笼统。我理解,要在 JPanel 上绘制,您可以覆盖 paintComponent 方法,并将所有绘图代码放在该方法中。我的问题是为什么!为什么Java似乎不允许/提供使用 panel.drawLine(x1,y1,x2,y2)或 panel.drawText等方法的绘图(文字,X,Y)?在delphi中这一切都变得如此简单。必须有一个我无法理解的原因。 解决方案 ..
发布时间:2018-12-07 18:35:30 Java开发

调整图纸大小以匹配框架大小

我写了一个应用程序,根据固定的像素位置自定义绘制paint()内的所有内容。然后我禁用框架的大小调整,使其始终可见。 但是,现在我希望能够调整它的大小,但我不想更改我的绘制代码。我希望我可以抓住300x300平方的Graphics g对象并在我的所有绘制代码​​之后将其调整为JFrame当前大小,但我不知道我在做什么。 这里是示例代码。在这里我希望100x100平方保持在中间,与调整大 ..
发布时间:2018-12-07 18:23:23 Java开发