使用NULL布局方法啊,我从来都是用这个

解决方案 »

  1.   

    JFrame里的ContentPane就像是Frame一样
    Swing中加控件都要加到ContentPane上,包括布局的指定
    而awt加控件是可直接加到Frame上的。
      

  2.   

    Awt中有4种其他的布局方式:
    1.BorderLayout:构件可以添加到容器的East(东)、West(西)、South(南)、North(北)、Center(中)。
    2.CardLayout:这种布局类似于叠卡片一样,首先显示第一个构件,我们可以借助于next()、previous()、first()、last()、show()方法来显示其他构件。
    3.GridLayout:容器被看成一个n行和m列的网络,每个网格都有相同的大小。
    4.GridBagLayout:这是一种最灵活、最复杂的布局方式,同GridLayout一样,都是按照网格来组织构件的,但是这里网格单元允许不同的大小,还允许构件跨越不同的行和列。
      对于Frame类,其缺省的布局方式为BordLayout;而Panel类的缺省布局方式为FlowLayout,我们使用时应该注意。
      

  3.   

    yichamps(放生) 
      谢谢~~但你这么粘贴实在没必要~!!!!
      大家还是没有正面的回答我的问题~~!!!!!!!!
      期待
      

  4.   

    建议用Swing的组件吧,AWT是以前的.ContenPane顾名思义是起到面板的布局作用,就像是Delphi的panel组件.
      

  5.   

    setBounds比较好用,设定component位置import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;public   class trace{
    public static void main(String[] arg){
      customer cus=new customer();
      cus.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      cus.show();
        
    }
    }
     class customer extends JFrame{  
         public customer(){    
       super("客户信息跟踪系统");
        setSize(800,800);
        Container contentPane=getContentPane();
        JPanel panel=new JPanel();
        panel.setSize(400,400);
        panel.setBackground(Color.BLUE);
        panel.setLayout(null) ;
        contentPane.add(panel);
        String button[]={"Query","New","Delete"};
        String sLabel[]={"ID:","Name:","Company Name:","Company Name:","City:","Province:","ZIP:","TEL:","EMail:"};
        for(int i=0;i<sLabel.length;i++){
                JLabel pLabel=new JLabel(sLabel[i]);
                
                JTextField pTextField=new JTextField(9);
                panel.add(pLabel);
                panel.add(pTextField);
                pLabel.setBounds(10,0+100*i,100,100);
                pTextField.setBounds(100,0+100*i,100,30);
        }
        for(int j=0;j<button.length;j++){
                JButton pbuttonj=new JButton(button[j]);
                panel.add(pbuttonj);}
                JLabel label=new JLabel("Customer Tracing System");  
                label.setBackground(Color.RED);
                panel.add(label);
                label.setBounds(300,0,200,100);
        }  
    }