import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 public class BorderTest  
 {
  public static void main(String[] arguments)
   {
   
BorderFrame Bor=new BorderFrame();
Bor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Bor.setVisible(true);
   }
}
class BorderFrame extends Frame
 {
  public BorderFrame()
  {
  setSize(240,280);
  setTitle("BorderTest");
         setLayout(new BorderLayout());
BorderPanel BP=new BorderPanel();
add(BP);
pack();
}
 }
class BorderPanel extends Panel
{
public BorderPanel()
{
north = new JButton("noth");
    south = new JButton("south");
    east = new JButton("east");
    west = new JButton("west");
    center = new JButton("Center");
    add(south,BorderLayout.SOUTH);
    add(east,BorderLayout.EAST);
    add(west,BorderLayout.WEST);
    add(north,BorderLayout.NORTH);
    add(center,BorderLayout.CENTER);
    }
    JButton north,south,west,east,center;
}我是要在五个方向显示五个按钮,可这外程序显示在一条上,不能实现我的效果,请高手,该怎么该?

解决方案 »

  1.   

    public BorderPanel()
    {
      super(new BorderLayout());
      ....
      

  2.   

    为什么要这样做呢?
     我在BorderFrame 里设置setLayout(new BorderLayout());为什么不行?请解释!
      

  3.   

    还有就是为什么出错提示setDefaultCloseOperation()找不到呢?
    这是为什么?
      

  4.   

    你把那几个button加到BorderPanel 里了,所以应该设置BorderPanel 的layout
    setDefaultCloseOperation()方法是JFrame类里的方法
      

  5.   

    上面说的没错
    Frame 默认的布局是 BorderLayout ,Panel默认是 FlowLayout