当我更改窗口大小时,我想绘制一些随机三角形并缩放它们。
我有一个单独的类MyTriangle扩展MyShape. 我也有两个变量:scaleX和scaleY. 每当我尝试将三角形x和y值相乘并更改窗口大小时,三角形就会变得疯狂并突然消失。当我尝试写作时
graphics.fillPolygon(new int[]{(int)(x1*scX),(int)(x2*scX)(int)(x3*scX)}, new int[]{(int)(y1*scY),(int)(y2*scY),(int)(y3*scY), 3);
由于某种原因,我的窗口没有任何反应。
//from MyShape class:
//scX = window.getWidth()/(double)window.defaultWidth;
//scY = window.getHeight()/ (double)window.defaultHeight;
public class MyTriangle extends MyShape {
int[] x;
int[] y;
public MyTriangle(int x1, int x2, int x3, int y1, int y2, int y3, int red, int green, int blue) {
super(x1, x2, x3, y1, y2, y3, red, green, blue);
this.x=new int[]{x1,x2,x3};
this.y=new int[]{y1,y2,y3};
}
@Override
protected void paintComponent(Graphics graphics) {
super.paintComponent(graphics);
for(int i = 0; i<3; i++){
x[i]=(int)(x[i]*scX);
y[i]=(int)(y[i]*scY);
}
graphics.fillPolygon(x,y,3);
}
我应该怎么做才能让它工作?像这样的缩放适用于矩形和椭圆形。
慕尼黑5688855
慕神8447489
相关分类