gpt4 book ai didi

java - 在java中绘制网格

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:48:08 26 4
gpt4 key购买 nike

我正在尝试使用 for 循环创建笛卡尔网格。到目前为止,以下是我的部分代码;当我运行它时,它不会生成一系列线条,而是会生成一个窗口,该窗口看起来像是一个白色面板,这会大大降低我的计算机速度。事实上,我必须启动任务管理器并结束任务,因为它甚至不会正常关闭。

public void paintComponent(Graphics g)
{
int width = getWidth();
int height = getHeight();
super.paintComponent(g);

int xstart=0;

for(int i = 1; i <= 10; i = i++)
{
xstart = i*(width/10);
g.drawLine(xstart, 0, xstart, height);
}
}

最佳答案

实际上,您需要两个 for 循环,一个用于行,一个用于列,而您只使用了一个,这不足以绘制网格。

我的作业是画网格,分享给大家。它将帮助您发现编码中的问题...

enter image description here

import java.awt.*;

class Grids extends Canvas {

int width, height, rows, columns;

Grids(int w, int h, int r, int c) {
setSize(width = w, height = h);
rows = r;
columns = c;
}

@Override
public void paint(Graphics g) {
int k;
width = getSize().width;
height = getSize().height;

int htOfRow = height / (rows);
for (k = 0; k < rows; k++) {
g.drawLine(0, k * htOfRow, width, k * htOfRow);
}

int wdOfRow = width / (columns);
for (k = 0; k < columns; k++) {
g.drawLine(k * wdOfRow, 0, k * wdOfRow, height);
}
}
}

public class DrawGrids extends Frame {

DrawGrids(String title, int w, int h, int rows, int columns) {
setTitle(title);
Grids grid = new Grids(w, h, rows, columns);
add(grid);
}

public static void main(String[] args) {
new DrawGrids("Draw Grids", 200, 200, 2, 10).setVisible(true);
}
}

关于java - 在java中绘制网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19166562/

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