在不调整窗口大小的情况下不显示所有元素

时间:2014-10-16 20:25:02

标签: java user-interface

哦,首先,这将是一个尴尬的问题。对于那个很抱歉。 我最终完成了我的项目,但最后,我面临着令人沮丧的事情。 我的项目大约是0和1。标签随机生成0或1。它是20 x 20网格。总共400个标签。

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

public class VHMP2 extends JFrame {

public static void main(String[] args) {

    int sum = 0;

    Random randomGen = new Random();

    String matrix[][] = new String[20][20];

    VHM1 frame = new VHM1();
    frame.setTitle("Homework 1");
    frame.setLayout(new GridLayout());
    frame.setSize(500, 500);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);

    JPanel p = new JPanel();
    p.setLayout(new GridLayout(20, 20));

    for (int x = 0; x < 20; x++) {
        for (int y = 0; y < 20; y++) {

            int value = (int) (2 * Math.random());

            JLabel label = new JLabel();

            label.setFont(new Font("HueHue", Font.ROMAN_BASELINE, 10));
            label.setText("" + value);

            frame.add(p);
            p.add(label);

            if (value == 1) {
                sum++;
            }

        }
    }

    JOptionPane.showMessageDialog(null, "Sum = " + sum, "Message", JOptionPane.INFORMATION_MESSAGE);

}

}

到目前为止,这是我的代码。问题是我在运行代码时看不到所有数字(我只能看到其中的6个)。我必须调整窗口大小以查看所有数字。我怎么解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

将所有其他元素添加到框架后,应调用 setVisible(true); 部分