日期:2014-05-20  浏览次数:20704 次

@布局管理器简单问题
@布局管理器简单问题;
#     BoxLayout()     这样用为什么统计能通过,运行出现错误呀;错误看不明白,给解释一下;
import   java.awt.*;
import   javax.swing.*;

public   class   MyFrame1  
{
public   MyFrame1()
{
JFrame   frame=new   JFrame( "Ghosthuo ");
JPanel   contentpane=new   JPanel();
JPanel   north=new   JPanel();
JPanel   west=new   JPanel();
JPanel   east=new   JPanel();

JButton     b1=new   JButton( "b1 ");
JButton     b2=new   JButton( "b2 ");
JButton     b3=new   JButton( "b3 ");
JButton     b4=new   JButton( "b4 ");
JButton     b5=new   JButton( "b5 ");
JButton     b6=new   JButton( "b6 ");
JButton     b7=new   JButton( "b7 ");
JButton     b8=new   JButton( "b8 ");
JButton     b9=new   JButton( "b9 ");

north.setLayout(new   FlowLayout());
north.add(b1);
north.add(b2);
north.add(b3);

west.setLayout(new   BoxLayout(west,BoxLayout.Y_AXIS));
west.add(b4);
west.add(b5);
west.add(b6);

east.setLayout(new   BoxLayout(west,BoxLayout.Y_AXIS));
east.add(b7);
east.add(b8);
east.add(b9);

contentpane.setLayout(new   BorderLayout());
contentpane.add(north,BorderLayout.NORTH);
contentpane.add(west,BorderLayout.WEST);
contentpane.add(east,BorderLayout.EAST);

frame.setContentPane(contentpane);
frame.setSize(500,200);
// frame.pack();
frame.setVisible(true);

}

public   static   void   main(String[]   args)  
{
//   TODO:   在这添加你的代码
MyFrame1   mytry=new   MyFrame1();
}
}
========================================================================
错误信息:
Exception   in   thread   "main "   java.awt.AWTError:   BoxLayout   can 't   be   shared
                at   javax.swing.BoxLayout.checkContainer(BoxLayout.java:415)
                at   javax.swing.BoxLayout.invalidateLayout(BoxLayout.java:202)
                at   java.awt.Container.invalidate(Container.java:1417)
                at   java.awt.Component.addNotify(Component.java:5879)
                at   java.awt.Container.addNotify(Container.java:2493)
                at   javax.swing.JComponent.addNotify(JComponent.java:4469)
                at   java.awt.Container.addNotify(Container.java:2500)
                at   javax.swing.JComponent.addNotify(JComponent.java:4469)
                at   java.awt.Container.addNotify(Container.java:2500)
                at   javax.swing.JComponent.addNotify(JComponent.java:4469)
                at   java.awt.Container.addNotify(Container.java:2500)
                at   javax.swing.JComponent.addNotify(JComponent.java:4469)