import java.awt.*;
import java.awt.event.*;
class A
{
A()
{
Button b = new Button("b");
Frame f = new Frame("a");
f.setLayout(new FlowLayout());
f.add(b,"love");  //这个love是做什么用的,好象也不显示。。
f.setSize(200,300);
f.setVisible(true);
}
public static void main(String args[])
{
System.out.println("a");
new A();
}
}

解决方案 »

  1.   

    这是跟布局管理器相关的.
    比如你可以看一下这样的效果: import java.awt.*;
    import java.awt.event.*;
    class A
    {
        A()
        {
            Button b = new Button("b");
            Frame f = new Frame("a");
            f.setLayout(new BorderLayout());
            f.add(b,BorderLayout.SOUTH);     //这个love是做什么用的,好象也不显示。。
            f.setSize(200,300);
            f.setVisible(true);
        }
    }public class Main{
        public static void main(String[] args) {
             new A();
        }
    }参考Container的
    add
    public void add(Component comp,
                    Object constraints)将指定的组件添加到此容器的尾部。同时通知布局管理器使用指定的 constraints 对象将组件添加到此容器的布局中。这是一个适用于 addImpl(java.awt.Component, java.lang.Object, int) 的便捷方法。 
    注:如果已经将某个组件添加到显示的容器中,则必须在此容器上调用 validate,以显示新的组件。如果添加多个组件,那么可以在添加所有组件之后,通过只调用一次 validate 来提高效率。 
    参数:
    comp - 要添加的组件
    constraints - 表示此组件的布局约束的对象 以及addImpl
    protected void addImpl(Component comp,
                           Object constraints,
                           int index)将指定组件添加到此容器的指定索引所在的位置上。此方法还通知布局管理器,通过 addLayoutComponent 方法,使用指定的约束对象将组件添加到此容器的布局中。 
    这些约束是由正使用的特定布局管理器定义的。例如,BorderLayout 类定义了五个约束:BorderLayout.NORTH、BorderLayout.SOUTH、BorderLayout.EAST、BorderLayout.WEST 和 BorderLayout.CENTER。 GridBagLayout 类需要一个 GridBagConstraints 对象。如果传递正确的约束对象类型时失败,则会导致 IllegalArgumentException。 如果当前布局管理器实现了 LayoutManager2,则在其上调用 LayoutManager2.addLayoutComponent(Component,Object)。如果当前布局管理器没有实现 LayoutManager2,并且约束是一个 String,则在其上调用 LayoutManager.addLayoutComponent(String,Component)。 如果该组件不是此容器的祖先容器,并且有一个非 null 父组件,则在将该组件添加到此容器之前,从其当前父组件中移除它。 在其他所有添加方法引用此方法时,如果某个程序需要追踪每个添加到容器的请求,那么这就是要重写的方法。被重写的方法通常应该包括一个对该方法的超类版本的调用: 
    super.addImpl(comp, constraints, index) 
    参数:
    comp - 要添加的组件
    constraints - 表示此组件的布局约束的对象
    容器列表中插入组件的位置;其中 - -1 表示将组件追加到尾部
      

  2.   

    f.add(b,"love");  二楼的兄弟,你复制了一些东西,还是没有说这个字符串是干吗的。
    BorderLayout.SOUTH 我知道的。
    可是。。一个字符串又能干吗呢??
      

  3.   

    我都提供建议了,你去addImpl的代码里看,对于不同的布局管理器是如何使用constraint的.