这是我做的一个界面,大致是我设计的样子了,但有一个问题,我希望JTextField一行高就够了,但现在是几个行高加一起充满了整个界面,请问要如何修改? 
public weather() { 
      setUpUIComponent(); 
      setUpEventListener(); 
        setTitle("Weather Report ");// 设置窗体的标题 
        setSize(640, 580);// 设置窗体的大小 
        setResizable(false); // 不允许用户改变窗口大小 
        setVisible(true); 
    } 
    
    private void setUpUIComponent(){ 
    
      p1 = new JPanel(); 
        p2 = new JPanel(); 
  
      country=new JTextField(10); 
      latitude=new JTextField(12); 
        currentTime=new JTextField(12); 
        wind=new JTextField(12); 
        visibilityField=new JTextField(12); 
        skycondition=new JTextField(12); 
        dewpoint=new JTextField(12); 
        relativehumidity=new JTextField(12); 
        presure=new JTextField(12); 
        search=new JButton("SEARCH"); 
        
        jl=new JList(entries); 
        JScrollPane jsp=new JScrollPane(jl); 
        
        jl.setVisibleRowCount(8); 
        jsp.setBounds(20,20,80,120); 
                
        p1.add(country); 
        p1.add(search); 
        p1.add(jsp); 
        
        p2.add(new JLabel("latitude")); 
        p2.add(latitude); 
        p2.add(new JLabel("time")); 
        p2.add(currentTime); 
        p2.add(new JLabel("wind")); 
        p2.add(wind); 
        p2.add(new JLabel("visibility")); 
        p2.add(visibilityField); 
        p2.add(new JLabel("skycondition")); 
        p2.add(skycondition); 
        p2.add(new JLabel("dewpoint")); 
        p2.add(dewpoint); 
        p2.add(new JLabel("relativehumidity")); 
        p2.add(relativehumidity); 
        p2.add(new JLabel("presure")); 
        p2.add(presure); 
        
        this.getContentPane().setLayout(new FlowLayout()); 
        this.setLayout(new GridLayout(1,2));         p2.setLayout(new GridLayout(8, 2)); 
        this.add(p1); 
        this.add(p2); 
    }