我需要一个2D坐标系,使用户空间坐标系在屏幕上摆动组件.现在这正是Java2D所做的.但我需要进一步的是移动屏幕和坐标系的相对位置以获得一种滚动.
在Java 2D中,默认后代(0,0)位于左上角,这在计算机图形中很常见.
有可能移动这一点吗?如果是:我该怎么办?
提前致谢.
我正在尝试使用Java2D来做一些简单的图形编程.我开始很简单,只是想在JFrame中显示几个圆圈.我成功显示了一个圆圈,但添加第二个圆圈时,只显示添加到JFrame的最后一个圆圈.我使用类Circle来定义我的圆并覆盖用于显示它的paintComponent方法.任何关于我可能做错的建议都将不胜感激.我的课程代码Circle和DancingCircles在下面提供,以供参考.
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
/**
*
* @author Paul
*/
public class Circle extends JPanel {
// Data members for Circle center and radius
private double centerX, centerY;
private double radius;
// No-argument constructor
Circle() {
centerX = 200;
centerY = 200;
radius = 10;
}
// Full-argument constructor
Circle( double x, double y, double r) {
centerX = x;
centerY = y;
radius = r;
}
// Draw a Circle
protected void paintComponent(Graphics g) {
super.paintComponent(g); …Run Code Online (Sandbox Code Playgroud) 我正在开发一个小程序,用颜色剪切图像.
使用此示例图像最容易解释:

我想用紫色的形状创建一个新的图像,没有黑框.
有没有人有任何想法?我正在使用Java 2D,所以我认为我需要使用第一张图像的紫色区域创建一个对象"Shape".
我正在使用 Java2d 开发应用程序。我注意到的奇怪的事情是,原点在左上角,正 x 向右移动,正 y 向下增加。
有没有办法移动原点左下角?
谢谢你。
我正在用Java开发一个小应用程序.我正在使用Java2D Library绘制一些图形对象.现在我想绘制一些半圆形状或简单的单词我需要绘制这个(形状和这个)形状.我没有找到任何绘制半圆的功能,但我想这Arc2D.Double(. . .);
对我有用,所以我尝试了但是我不明白我需要传递给它的构造函数的params.所以我最终得到了奇怪的形状:(
有人可以详细解释这些参数或参考一些好的链接.
我已经使这个程序能够绘制一个使用这两个类在屏幕上弹跳的小球的实例
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;
import javax.swing.JPanel;
import javax.swing.Timer;
public class move extends JPanel implements ActionListener
{
Timer t = new Timer(7, this);
int x = 10, y = 10, velX = 7, velY = 7;
public void paintComponent(Graphics g, Graphics h)
{
super.paintComponent(h);
super.paintComponent(g);
System.out.println(g);
Graphics2D g2 = (Graphics2D) g;
Ellipse2D circle = new Ellipse2D.Double(x, y, 40, 40);
g2.fill(circle);
t.start();
}
public void actionPerformed(ActionEvent e) {
if(x<0 || x > getWidth())
{
velX …Run Code Online (Sandbox Code Playgroud) 我应该用AWT开发一个Java游戏.我坚持"碰撞检测"的概念.如果您可以帮助我解释概念(如何工作)或举例(源代码)的任何教程,我将不胜感激.
如何在JPanel中显示BufferedImage?
我想获得面板上字符串的确切高度(以像素为单位)。所以我编写了一个程序来绘制字符串,然后在它周围绘制一个矩形。
使用FontMetrics,我使用getStringBounds方法来获取封闭的矩形。
然而它看起来是错误的:
我期望矩形能够完美地包围我的文本,但顶部有空间(左侧和右侧有一点空间)。为什么它给我这个结果?
这是我的代码:
public class Test extends JPanel {
@Override
protected void paintComponent(Graphics g) {
Font font = new Font("Arial", Font.PLAIN, 60);
g.setFont(font);
FontMetrics fm = this.getFontMetrics(font);
String str = "100dhgt";
Rectangle2D rect = fm.getStringBounds(str, g);
int x = 5;
int y = 100;
g.drawRect(x, y - (int)rect.getHeight(), (int)rect.getWidth(), (int)rect.getHeight());
g.drawString(str, x, y);
}
public static void main(String[] args) {
JFrame f = new JFrame();
Test test = new Test();
f.add(test);
f.setVisible(true);
f.setSize(400, 400); …Run Code Online (Sandbox Code Playgroud)