gpt4 book ai didi

java - 如何在多边形内添加JLabel?

转载 作者:行者123 更新时间:2023-12-02 08:05:41 25 4
gpt4 key购买 nike

我正在尝试做 isometric Java 游戏的 map ,但我找不到方法来做到这一点。我需要为等轴测图的每个多边形添加一个 JLabel ,这样我就可以对每个位置使用 paint() 。如何为我绘制的每个多边形添加 JLabel?我听不懂。我已经有了我的算法来绘制等轴测图的每个位置,如下所示:

//L is the width of the map (that will be the framw width)
//N will be the number of COLUMN, like N*N will be the total number of positions.

//The first position (a,b) that will be

a=L / (2*N+1)
b=a . tan(30º

for (int y = 0; y < N; y++) {
if (y % 2 == 0) { // Se y é PAR
for (int x = 0; x < N; x++) {
Polygon p = new Polygon();
p.addPoint(x * a * 2 + a, y * b);
p.addPoint(x * a * 2 + 2 * a, y * b + b);
p.addPoint(x * a * 2 + a, y * b + 2 * b);
p.addPoint(x * a * 2, y * b + b);
g.drawPolygon(p);
}
} else { // if Y is odd
for (int x = 0; x < N; x++) {
Polygon p = new Polygon();
p.addPoint(x * a * 2 + 2 * a, y * b);
p.addPoint(x * a * 2 + 3 * a, y * b + b);
p.addPoint(x * a * 2 + 2 * a, y * b + 2 * b);
p.addPoint(x * a * 2 + a, y * b + b);
g.drawPolygon(p);
}
}
}

提前非常感谢大家

最佳答案

布局和绘图确实有很大不同。布局与精确定位无关。您也可以在 Graphics 对象上您想要的位置使用drawChars,或者将其转换为Graphics2D 对象并使用drawString。

关于java - 如何在多边形内添加JLabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8205998/

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