JAVA绘制的阵列是自动转置的

JAVA绘制的阵列是自动转置的,java,arrays,swing,jpanel,paintcomponent,Java,Arrays,Swing,Jpanel,Paintcomponent,我最近用Java开始了我的冒险,我使用IntelliJ IDEA 13.1.1。 我的问题是:当我想在屏幕上绘制一个数组时,它是在变换的过程中绘制的 import java.awt.*; import javax.swing.*; @SuppressWarnings("serial") public class Main extends JPanel { public int tab[][]=new int[3][6]; public static final int CANV

我最近用Java开始了我的冒险,我使用IntelliJ IDEA 13.1.1。 我的问题是:当我想在屏幕上绘制一个数组时,它是在变换的过程中绘制的

import java.awt.*;
import javax.swing.*;

@SuppressWarnings("serial")
public class Main extends JPanel
{
    public int tab[][]=new int[3][6];
    public static final int CANVAS_WIDTH=1280;
    public static final int CANVAS_HEIGHT=1024;
    public Main()
    {
        for(int i=0; i<3; i++)
            for(int j=0;j<6;j++)
                tab[i][j]=3*j+i*2;
        tab[1][4]=99;
        setPreferredSize(new Dimension(CANVAS_WIDTH, CANVAS_HEIGHT));
    }
    @Override
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        setBackground(Color.BLACK);
        g.setColor(Color.WHITE);
        for(int i=0; i<3; i++)
            for(int j=0;j<6;j++)
                g.drawString(tab[i][j]+"", 20+i*20, 20+j*20);
    }
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            @Override
            public void run()
            {
                JFrame frame=new JFrame("tests");
                frame.setContentPane(new Main());
                frame.pack();
                frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
                frame.setVisible(true);
            }
        });
    }
}
import java.awt.*;
导入javax.swing.*;
@抑制警告(“串行”)
公共类Main扩展了JPanel
{
公共整数选项卡[][]=新整数[3][6];
公共静态最终整型画布宽度=1280;
公共静态最终整型画布高度=1024;
公用干管()
{

对于(int i=0;i请尝试这样编写您的方法:

g.drawString(tab[i][j]+"", 20+j*20, 20+i*20);
(i和j在最后两个参数中交换)