我对编程还很陌生,我刚刚开始研究算法,我想创建一个绘制网格作为挑战的算法,而不是使用GridLayout()方法。由于某种原因,我的正方形仅在窗口顶部的开始处和窗口侧面的下方开始绘制一点,而我没有找到发生这种情况的原因。
import javax.swing.*;
import java.awt.*;
public class JFrameSquares extends JPanel {
public void paintComponent(Graphics g)
{
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
int rows = width/30;
int cols = height/30;
for (int j = 0; j < 30; j++)
{
for(int i = 0; i < 30; i++)
{
g.setColor(Color.red);
g.drawRect(i* rows,j* cols,i* rows,j* cols);
}
}
}
public static void main(String[] args) {
JFrame window = new JFrame();
window.setSize(380,380);
JFrameSquares panel = new JFrameSquares();
window.add(panel);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
}
}