Zhong

Keep thinking. Keep moving.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

      通常,组件放置在容器中,布局管理器决定容器中的组件的具体放置位置和大小。按钮、文本域等用户界面元素都继承于Component类,组件可以放置在面板中。

Container类继承于Component类,所以容器可以放置在另一个容器中。

     每一个容器都有一个默认布局管理器,可以重新设置。

例如:

panel.setLayout(new GridLayout(4,4));

容器的add方法将组件和放置位置的方位传递给布局管理器。1、边框布局管理器(border layout manager) 它是每个JFrame的内容窗格的默认布局管理器。允许为每个组件选择一个放置位置。可以把组件放在North、South、West、Center、East。如果没有提供任何值,系统默认为Center。当容器被缩放时,边缘组件厚度不变,但是中间组件大小会变化。

例如:

frame.add(component,BorderLayout.South);
     边框布局会扩展所有组件的尺寸填满可用空间。
例如:
        image
    解决问题的常用方法是使用另一个面板(panel),创建一个新的JPanel对象,然后把按钮添加进面板中。这样按钮位于面板中间,不会扩展到整个面板区域。最后,将
这个面板添加到框架中。
例如:
JPanel panel = new JPanel();
panel.add(blueButton);
frame.add(panel,BorderLayout.SOUTH);

        image

2、网格布局
     每个表格单元大小一致,当缩放窗口时,计算器按钮随之变大或变小,但是所有尺寸保持一致。网格布局对象构造器中,需指定行数和列数。添加组件,从第一行的第一列开始,

然后是第一行第二列。

 

 

panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));
		
addButton("7");
addButton("8");
addButton("9");
addButton("/");	
addButton("4");
addButton("5");
addButton("6");
addButton("*");		
addButton("1");
addButton("2");
addButton("3");
addButton("-");		
addButton("0");
addButton(".");
addButton("=");
addButton("+");
frame.add(panel,BorderLayout.CENTER);

            image
posted on 2013-05-29 14:50  stwzhong  阅读(694)  评论(0编辑  收藏  举报