グリッドを GUI に描画する方法と、後で描画されるボックスの色を変更できるようにするプログラムに助けが必要です。paintComponent(Graphics g) を使用する必要があることはわかっていますが、方法や場所がわかりません。
だから、ここに私がこれまでに得たコードのコピーがあります(コードを与えられるだけで非常に困難になる可能性があると言われていますが、私のためにそれを行うだけでなく、人々が助けるのが最善の方法だと思います)。上から、値を設定し、GUI を作成し、GUI を呼び出し、2 次元配列をボックスで埋めます (私はそう思います)。次に、Boxes クラスで値を設定する必要があり、次にそれらを描画する方法の開始 (それを解決する方法がわかりませんでした)、次に x 座標と y 座標のいくつかの seta メソッドです。
ボックスを Jpanel に描画し、グリッドを作成し、外部値に応じて色をさまざまな青の色合いに変更する方法を教えてください。
import java.awt.*;
import java.awt.Graphics;
import java.util.*;
import javax.swing.*;
public class NewGrid {
Boxes[][] Boxs;
int BoxesX;
int BoxesY;
NewGrid() {
buildtheGUI();
}
JFrame frame = new JFrame();
JPanel panel = new JPanel();
public void buildtheGUI() {
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
frame.setVisible(true);
}
public static void main(String[] args) {
new NewGrid();
}
public void addboxes() {
Boxs = new Boxes[panel.getWidth() / 10][panel.getHeight() / 10];
for (int i = 0; i < panel.getWidth() / 10; i++) {
for (int j = 0; j < panel.getHeight() / 10; j++) {
Boxs[i][j] = new Boxes();
Boxs[i][j].setx(i * (panel.getWidth() / 10));
Boxs[i][j].sety(j * (panel.getHeight() / 10));
Boxs[i][j].draw(null);
}
}
}
}
public class Boxes extends JPanel {
int x;
int y;
int width = 10;
int hieight = 10;
Color colour = Color.BLACK;
public void draw(Graphics g) {
g.setColor(colour);
g.fillRect(x, y, width, hieight);
}
public void setx(int i ){
x = i;
}
public void sety(int i ){
y = i;
}
}