这是我做的一个界面,大致是我设计的样子了,但有一个问题,我希望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);
    }