随笔 - 303  文章 - 883  trackbacks - 0
<2007年3月>
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

欢迎光临! 
闲聊 QQ:1074961813

随笔分类(357)

我管理的群

公共blog

  • n维空间
  • Email : java3d@126.com 群 : 12999758

参与管理的论坛

好友的blog

我的其他blog

朋友的网站

搜索

  •  

最新评论

Glue:当glue插入在两组件间时,它会将两组件挤到最左与最右(或最上与最下),透明的glue将会占满整个中间的空间。

例:
   在10与11行间加入下面一行程序:
    baseBox.add(Box.createHorizontalGlue());
Strut:当你不想将A与B按钮挤到最旁边时,你可以使用Strut组件,来设置所需要的大小,但仅能限定一维的大小,例如限定水平或垂直高度。
 
例:在10与11行间加入下面一行程序:
     baseBox.add(Box.createHorizontalStrut(50));//A,B之间间隔50个像素。
Rigid:这个透明组件跟Strut很像,但它可以设置二维的限制,也就是可以设置水平与垂直的限制宽度。
 

例:在10与11行间加入下面一行程序:
     baseBox.add(Box.createRigidArea(new Dimension(50,50)));
    为了将Rigid的高度功能显示出来,因此以pack()方法代替setSize()方法,11行替换为:f.pack();
    若我们将高度再拉长,例如baseBox.add(Box.createRigidArea(new Dimension(50,50)));的Dimension改成(50,100),则两组件的上下空白将会增大,因为透明的Rigid组件高度增高了。
     Filler:Filler是Box的inner class,它的功能跟Rigid很像,都可以指定长宽的大小限制,且Filler可以指定最大、较佳、最小的长宽大小,以下是Filler的构造函数:
     Box.Filler(Dimension min,Dimension pref Dimension max)建立一个指定大小的Filler对象。
     参数min表示最小的显示区域大小,如同上面的例子所示,若所设置最小区域的高度大于按钮A与B的高度,则按钮A与B的上方与下方将有空白出现。
   pref表示较佳的显示区域大小。max表示最大的显示区域大小。
   

例:在10与11行间加入下面一行程序:
     baseBox.add(new Box.Filler(new Dimension(50,50),
                                new Dimension(100,50),
                                new Dimension(200,50)));
   Box类所提供的方法:
   Static Component       createGlue()构造一个Glue组件可向水平与垂直方向延伸
   Static Box             createHorizontalBox()构造一个水平排列的Box组件
   Static Component       createHorizontalGlue()构造一个水平的Glue组件
   Static Component       createHorizontalStrut(int width)构造一个水平的Strut组件
   Static Component       createRigidArea(Dimension d)构造一个Rigid组件
   Static Box             createVerticalBox()构造一个垂直排列的Box组件
   Static Component       createVerticalGlue()构造一个垂直的Glue组件
   Static Component       createVerticalStrut(int height)构造一个垂直的Strut组件
   AccessibleContext      getAccessibleContext()取得与JComponent相关边的AccessibleContext
   Void                   setLayout(LayoutManager l)丢出AWTError,因为Box只能使用BoxLayout

代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BoxLayoutDemo{
  public BoxLayoutDemo(){
    JFrame f=new JFrame();
     
      Container contentPane=f.getContentPane();
      Box baseBox=Box.createHorizontalBox();//先产生水平排列方式的Box组件,当作基底容器(BaseBox)
      contentPane.add(baseBox);
     
      /*产生垂直排列方式的Box组件来安置第一与第三个按钮
       */
      Box vBox=Box.createVerticalBox();
      JButton b=new JButton("first");
      vBox.add(b);
      b=new JButton("third");
      b.setMaximumSize(new Dimension(100,150));
      vBox.add(b);
      baseBox.add(vBox);
     
     /*产生垂直排列方式的Box组件来安置第二与另一个水平排列方式的Box组件
      */ 
      Box vBox1=Box.createVerticalBox();
      baseBox.add(vBox1);
      b=new JButton("second");
      b.setAlignmentX(Component.CENTER_ALIGNMENT);
      b.setMaximumSize(new Dimension(300,50));
      vBox1.add(b);
     
      Box hBox=Box.createHorizontalBox();
      vBox1.add(hBox);
       

     /*将第四与最后一个按钮加入水平排列方式的Box组件中
      */
      Box vBox2=Box.createVerticalBox();
          vBox2.add(Box.createVerticalStrut(50));
          vBox2.add(new JButton("fourth"));
          vBox2.add(Box.createVerticalStrut(50));
          hBox.add(vBox2);
         
          Box vBox3=Box.createVerticalBox();
              vBox3.add(Box.createVerticalGlue());
              vBox3.add(new JButton("THis is the last button"));
              hBox.add(vBox3);
           
      f.setTitle("BoxLayout");
      f.pack();
      f.setVisible(true);
     
      f.addWindowListener(
           new WindowAdapter(){
               public void windowClosing(WindowEvent e){
                  System.exit(0);
               }
           }
      );
     
  }
  public static void main(String[] args){
  BoxLayoutDemo  b=new BoxLayoutDemo();
  }
}
/****************************************************************************/


讲到这里相信大家已经初步入门,接下来就看大家自己了这是,这是整个电子书,我不过摘里面一点出来
在这里还要感谢电子书的作者!

         下载


/****************************************************************************/



地震让大伙知道:居安思危,才是生存之道。
posted on 2007-03-03 12:07 小寻 阅读(1186) 评论(0)  编辑  收藏 所属分类: j2se/j2ee/j2me

只有注册用户登录后才能发表评论。


网站导航: