小程序不显示任何内容
Applet doesn't show anything
出于某种原因,此代码不会呈现任何内容。有人可以向我解释为什么它什么都不做吗?
import java.awt.*;
import java.applet.*;
public class TEST extends Applet {
public void paint(Graphics g) {
int xSize = 255;
int ySize = 255;
byte R, G, B;
for(int x = 0; x < xSize; x++) {
for(int y = 0; y < ySize; y++) {
R = (byte) (x % y);
G = (byte) (y % x);
B = (byte) (y);
Color pixel = new Color(R, G, B);
g.setColor(pixel);
g.fillRect(x, y, 1, 1);
}
}
}
}
无法获得相对于 0
的数字的模数,例如这里
R = (byte)(x%y);
在第一次迭代中。此时您可能会看到 ArithmeticException
发生。您可以简单地从 1
:
开始
red = (byte) (x % (y + 1));
green = (byte) (y % (x + 1));
我明白了,它试图将 R G 和 B 值设置在 255 以上。
我只是在每个末尾添加了 %255 来修复它。
谢谢大家的帮助。
出于某种原因,此代码不会呈现任何内容。有人可以向我解释为什么它什么都不做吗?
import java.awt.*;
import java.applet.*;
public class TEST extends Applet {
public void paint(Graphics g) {
int xSize = 255;
int ySize = 255;
byte R, G, B;
for(int x = 0; x < xSize; x++) {
for(int y = 0; y < ySize; y++) {
R = (byte) (x % y);
G = (byte) (y % x);
B = (byte) (y);
Color pixel = new Color(R, G, B);
g.setColor(pixel);
g.fillRect(x, y, 1, 1);
}
}
}
}
无法获得相对于 0
的数字的模数,例如这里
R = (byte)(x%y);
在第一次迭代中。此时您可能会看到 ArithmeticException
发生。您可以简单地从 1
:
red = (byte) (x % (y + 1));
green = (byte) (y % (x + 1));
我明白了,它试图将 R G 和 B 值设置在 255 以上。 我只是在每个末尾添加了 %255 来修复它。 谢谢大家的帮助。