Java-如何在屏幕上绘制像素

Java-How to draw pixels on a screen

在 Java 中通过简单循环或数组将像素简单地打印到屏幕上的最佳方法是什么?

您可以使用 BufferedImage 并将其显示在 JLabel 上。类似于:

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.util.List;
import javax.swing.*;

public class SSCCE extends JPanel
{
    public SSCCE()
    {
        int size = 300;
        BufferedImage bi = new BufferedImage(size, size, BufferedImage.TYPE_INT_RGB);
        ImageIcon icon = new ImageIcon( bi );
        add( new JLabel(icon) );

        for (int y = 0; y < size; y += 5)
        {
            for (int x = 0; x < size; x++)
            {
                Color color = (y % 2 == 0) ? Color.RED : Color.GREEN;
                int colorValue = color.getRGB();
                bi.setRGB(x, y, colorValue);
                bi.setRGB(x, y + 1, colorValue);
                bi.setRGB(x, y + 2, colorValue);
                bi.setRGB(x, y + 3, colorValue);
                bi.setRGB(x, y + 4, colorValue);
            }
        }
    }

    private static void createAndShowGUI()
    {
        JFrame frame = new JFrame("SSCCE");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add( new SSCCE() );
        frame.setLocationByPlatform( true );
        frame.pack();
        frame.setVisible( true );
    }

    public static void main(String[] args)
    {
        EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                createAndShowGUI();
            }
        });
    }
}

或者您可以创建一个自定义组件并使用图形 class:

中的方法实现 paintComponent(...) 方法
Graphics.fillRect(...);
Graphics.fillOval(...);
etc..

阅读 Custom Painting 上 Swing 教程中的部分以获取更多信息和示例以开始使用。不要忘记阅读 Graphics API 了解其他图形方法。