在Java中绘图?

Jee*_*raj 3 java

我有一个维度为[20] [20]的数组,其值为0和1.我想绘制一个类似于天气图像的图表.其中1代表一种颜色为零且没有活动的零活动......我需要开始绘制的基本内容是什么

谢谢你Jeet

dac*_*cwe 5

代码(如下)是您想要做的基本示例.它会产生这个图像:

截图

public static void main(String[] args) {
    JFrame frame = new JFrame("Test");

    final int[][] map = new int[10][10];
    Random r = new Random(321);
    for (int i = 0; i < map.length; i++)
        for (int j = 0; j < map[0].length; j++)
            map[i][j] = r.nextBoolean() ? r.nextInt() : 0;

    frame.add(new JComponent() {
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);

            int w = getWidth() / map.length;
            int h = getHeight() / map[0].length;

            for (int i = 0; i < map.length; i++) {
                for (int j = 0; j < map[0].length; j++) {
                    if (map[i][j] != 0) {
                        g.setColor(new Color(map[i][j]));
                        g.fillRect(i * w, j * h, w, h);
                    }
                }
            }
        }
    });

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(400, 400);
    frame.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)