2014-10-16 43 views
0

Okey,首先,这将是一个尴尬的问题。对于那个很抱歉。 我最终完成了我的项目,但最后,我面临着令人沮丧的事情。 我的项目是关于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个)。我必须调整窗口大小以查看所有编号。我该如何解决这个问题?谢谢 !

+0

重新绘制帧 – 2014-10-16 20:25:46

+0

这是什么意思? – HalilM 2014-10-16 20:26:20

+1

你已经添加组件后设置框架可见。所以你需要repaint。或你可以移动frame.setvisible线循环结束后 – 2014-10-16 20:29:31

回答

0

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

相关问题