不显示字符串

时间:2013-09-11 20:21:59

标签: java string swing graphics

所以我制作了一个程序,它应该在屏幕上显示一系列14 X 14长的字符串。它曾经在你改变大小时工作,但是我把setResizable设为false,所以现在我可以 看不到任何东西。我感谢你的所有帮助。这是代码:

private Color textColor = Color.BLACK;
private Random random = new Random();
String[][] letters = new String[14][14];

float fontsize = Toolkit.getDefaultToolkit().getScreenSize().width / 50;

public void paint(Graphics g) {
    g.setColor(textColor);
    setFont(getFont().deriveFont(fontsize));

    for (int i = 0; i < 13; i++) {  
        for (int j = 0; j < 13; j++) {
            if ((int) (Math.random() * 100) > 97) {
                letters[i][j] = "w";
                textColor = Color.BLUE;
                System.out.println("asd");
            } else {
                letters[i][j] = "l";
                textColor = new Color(0, 100, 0);
            }

            g.drawString(letters[i][j], i * 34, j * 34);

            if (i >= 99)
                System.out.println("asdasdasd");
        }
    }
}

@Override
public void actionPerformed(ActionEvent e) {
    // repaint();
}

public mainClass() {
    setSize(Toolkit.getDefaultToolkit().getScreenSize().width / 3, 
            Toolkit.getDefaultToolkit().getScreenSize().width / 3 + 80);

    setDefaultCloseOperation(EXIT_ON_CLOSE);

    Timer timer = new Timer(500, this);
    timer.setInitialDelay(0);
    timer.start();

    setResizable(false);        
    this.setBackground(Color.BLACK);

    setVisible(true);
}

public static void main(String[] args) {
    mainClass myWindow = new mainClass();
}

1 个答案:

答案 0 :(得分:0)

如果您通过该计划(而不是用户)重新调整JFrame大小,那么您可以尝试pack(),即使setResizable也可以使用false设为{{1}}。

如果您不想允许任何类型的重新调整大小,那么您需要进一步解释您的问题。