Tag: 图形

如何从Java2D生成的图形生成事件

我在java.awt.geom.Ellipse2D的帮助下制作了一个Ellipse 现在,我希望每当用户点击该椭圆时,就会生成一个事件,以便我可以监听该事件并根据生成该事件的椭圆执行后续任务。

Java Graphics慢慢改变颜色

我有一个渐变背景,我想慢慢地,它想改变颜色,基本上它是通过不同的颜色。 颜色必须融合所有颜色,我不希望它通过颜色轻弹,这可能吗? 请赐教解决方案,谢谢。

用JOGL画出屏幕

作为一个大项目的一部分,我正在尝试使用JOGL实现一个工具,将3D渲染导出为位图格式。 我们通过创建一个GLJPanel并绘制我们想要的场景,然后提取位图来实现这一点。 只要系统在屏幕上至少有一个可见窗口,这一切都可以正常工作 – 不一定是包含我们绘制的面板的窗口。 但是如果我们尝试这样做而不使任何窗口可见,则GLJPanel将不会绘制。 单步执行JOGL源我发现它不会绘制,除非它有一个有效的对等体 – 基本上除非已经调用了addNotify()。 文档说只有当面板成为可见窗口层次结构的一部分时才会调用addNotify()。 更改为GLCanvas没有太大区别 – 故障模式不同。 未设置LOCK_SURFACE_NOT_READY ,这意味着lockSurface返回LOCK_SURFACE_NOT_READY ,导致makeCurrent()失败。 欢迎任何帮助,如何创建一个Java应用程序,可以创建和导出3D场景,而不必让它的窗口可见。

如何在Java中将一个Swing组件的图形图像复制到另一个

我刚刚开始我的Java编程3个月前,我的问题是 – 如何将JLabel或JPanel图形复制到另一个JLabel或JPanel 。 我用过 – JLabel dest = new JLabel(); dest.paint(srcLabel.getGraphics()); panel.add(dest); dest.validate(); 但由于缺乏知识,我在这里停留。 请帮忙。

没有事件发生

这是我的代码。我正在尝试使用箭头键移动球。 当我运行以上程序时,不显示球 ( 如果我将坐标更改为类似0,30球), 并且事件未被触发,则球既不移动也不跳跃 What is the problem ? import java.awt.*; import java.awt.event.*; import javax.swing.*; class ControlledBall extends JPanel{ int diameter = 30; int height = 30; int x_Pos = 0; int y_Pos; ControlledBall() { JFrame fr = new JFrame(“Controlled Ball”); this.setBackground(Color.black); fr.add(this); fr.setVisible(true); fr.setSize(600,400); y_Pos = this.getHeight() – diameter ; register(); repaint(); } […]

Java:在ActionListener中使用图形组件

我有两个单独的类和驱动程序文件,在类文件中我创建了paint方法: public void paint(Graphics g){ g.drawLine(…… …. //along with all of my other draw commands } 在代码中,我创建了一个JButton,在这个按钮的动作监听器中,我不知道如何使用Graphics对象在JFrame中创建更多图形。 我应该向我的驱动程序添加一些内容以实现这一点,还是有办法在我的动作监听器中使用这些图形? 谢谢,任何帮助表示赞赏。

如何在java swing应用程序中保留和删除多个图形对象?

我有一个图像,我在其上使用预定义的位置来创建带有颜色的图形对象。 点击鼠标,我尝试用颜色创建一些椭圆形。 实际上我无法实现这一目标。 因为,当我点击预定位置时,我可以在其上创建一个椭圆形但是当我点击另一个预定义位置时,第一个椭圆形已经消失了。 通过点击两次可以去除椭圆形。 看看这个, public class PrintDialog extends javax.swing.JDialog{ private int count = 0; private int count_1 = 0; /** * Creates new form PrintFeetDialog */ public PrintDialog(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); ImagePanel panel = new ImagePanel(“Areas.jpg”); this.getContentPane().add(panel); this.setResizable(false); this.setLocationRelativeTo(panel); this.pack(); } private void formMouseClicked(java.awt.event.MouseEvent evt) { // TODO add […]

Java Graphics.fillPolygon:如何渲染右边和底边?

绘制多边形时,Java2D会留下右边和底边。 我明白为什么这样做了。 但是,我想绘制一些包含这些边缘的东西。 我fillPolygon一件事是跟随具有相同坐标的fillPolygon ,但这似乎留下了空白。 (见底部的小三角形图像。)有两种可能性,但我不清楚哪一种。 要启用抗锯齿,我这样做: renderHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); renderHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); g2d.setRenderingHints(renderHints); 一种可能性是在α通道上没有进行抗锯齿处理,因此间隙是由于过度绘制引起的。 在这种情况下,如果alpha通道是抗锯齿的,那么边缘将正确邻接。 另一种可能性是这里只有一个差距。 我怎样才能解决这个问题? 另外,我不确定,但看起来多边形轮廓实际上可能太大了。 也就是说,它可能比我想要包括的右边和下边更远。 谢谢。 – 更新 – 基于Hovercraft Full of Eels的一个非常好的建议,我做了一个可编辑的例子: import java.awt.Color; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JOptionPane; public class polygon { private static final int WIDTH = 20; public […]

平滑快速移动和重绘()

我正在编写简单的太空入侵者并且在移动船舶时遇到问题。 基本上我改变船的位置然后repaint() 。 如果变化很大,那就更像是跳跃而不是移动。 如果变化很小,则动画更平滑但速度变慢。 有什么解决方案吗? 我正在绘制JPanel并使用paintComponent() 。 @edit:我真的不明白我的电脑如何能够平滑地显示普通(新)游戏,并且简单的绘图图像具有低帧速率。 这就是为什么我认为它是软件问题而不是硬件。 所以也许我会做一些影响帧率的事情。 @edit:好的,粘贴一些代码,但要理解 – 我开始使用java并且通常在2周前编程图形。 package pl.spaceInvaders; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JPanel; import javax.swing.Timer; class GamePanel extends JPanel{ SpaceInvadersMain sim; private Image dbImage; private Graphics dbg; int moveDistHor=0; int moveDistVer=0; int […]

如何在Java Swing中创建投影,内部发光和外部发光?

我使用Graphics2D界面生成一些图像,偶尔我希望能够在图像上绘制一些文本并应用于Adobe Photoshop中的效果。 现在我在文本上生成一个“阴影”我正在绘制文本两次,一次是原始颜色,一次是黑色,有一个轻微的(1px)x和y偏移。 不幸的是,这太简单了,因为我需要更多地控制阴影(不透明度,大小,传播)。 至于内发光和外发光,我不确定从哪里开始; 面具/渐变涂料/ alpha混合? 是否有用于生成这些类型效果的Java库? 如果不是,你将如何创造这些效果?