gpt4 book ai didi

java - 如何在java swing中绘制并填充平行四边形?

转载 作者:行者123 更新时间:2023-12-01 07:24:20 24 4
gpt4 key购买 nike

我环顾四周,很惊讶我找不到用 java swing 绘制和填充平行四边形的方法。有没有简单的方法可以做到这一点?

感谢您提前提供的帮助。

最佳答案

swing 中的所有(或至少大部分)绘图都是通过子类化 JPanel 并重写 paintComponent 方法来完成的。所以它会这样开始:

public class MyPanel extends JPanel{

@Override
public void paintComponent(Graphics g){
//Drawing stuff....
}
}

从这里开始,您将需要创建一个平行四边形形状,并填充它。供您使用的 Shape 最简单的实现是 Path2D

public class MyPanel extends JPanel{

private Path2D.Double parallelogram;

public MyPanel(){
parallelogram = new Path2D.Double();
parallelogram.moveTo(0,0);
parallelogram.lineTo(50,0);
parallelogram.lineTo(100,50);
parallelogram.lineTo(50,50);
parallelogram.closePath();

setPreferredSize(new Dimension(100, 100));
}

@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
g2d.setColor(Color.BLACK);
g2d.fill(parallelogram);
}
}

然后创建此面板的一个实例并将其添加到 JFrame 中:

public static void main(String[] args){
JFrame f = new JFrame();
f.add(new MyPanel(), BorderLayout.CENTER);
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

关于java - 如何在java swing中绘制并填充平行四边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28017537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com