【发布时间】:2011-06-21 10:32:12
【问题描述】:
这是我尝试制作 400 x 400 网格但输出以下内容的代码:
毫无疑问,这不是 400 x 400 网格。
我无法检测出我的逻辑在哪里出错。负责绘图的部分我已经高亮了。
import javax.swing.*;
import java.awt.*;
class tester1 extends JPanel {
tester1() {
setPreferredSize(new Dimension(400,400));
this.setBackground(Color.black);
JFrame fr = new JFrame();
fr.add(this);
fr.pack();
fr.setVisible(true);
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
repaint();
}
public void paintComponent(Graphics g) { // <----- part responsible for drawing
g.setColor(Color.red);
for(int x = 0 ; x <= 400 ; x += 10 ) {
g.drawLine( x , 0 , 400 , x );
}
for(int y = 0 ; y <= 400 ; y += 10 ) {
g.drawLine( y , 0 , y , 400 );
}
} // <---- till here
public static void main(String args[]) {
new tester1();
}
}
我在paintComponent方法中犯了什么错误?
在输出中,当我写了this.setBackground(Color.black) 时,为什么我没有得到 BLACK 颜色作为背景?
【问题讨论】:
-
+1 用于提供代码和(裁剪良好,甚至)屏幕截图。顺便说一句 - 对于屏幕截图,我将它们放在白色网页上(在角落有白色 BG),然后在按下“打印屏幕”按钮的同时按住“alt”。 'alt' 键可确保仅捕获聚焦的组件,并且圆角中的白色 BG 与任何使用白色 BG 的站点都很好地保持一致。