使用GridBagLayout控制行列的高度和宽度

摘自http://bbs.csdn.net/topics/340189065使用GridBagLayout控制行列的高度和宽度

gridwidth指定组件显示区域的某一行中的单元格数。 默认值1,水平占一格
gridheight指定在组件显示区域的一列中的单元格数。默认值1,垂直占一格
weightx指定如何分布额外的水平空间。 默认值0,额外水平空间不分配。weighty指定如何分布额外的垂直空间。 默认值0,额外垂直空间不分配。

拉伸后效果如下



 1 package com.hw.gridbaglayout;
 2
 3 import java.awt.Button;
 4 import java.awt.Font;
 5 import java.awt.GridBagConstraints;
 6 import java.awt.GridBagLayout;
 7 import java.awt.event.WindowAdapter;
 8 import java.awt.event.WindowEvent;
 9
10 import javax.swing.JFrame;
11 import javax.swing.JPanel;
12
13 public class GridBagEx2 extends  JPanel
14 {
15     private static final long serialVersionUID = -5214441555967215113L;
16
17     protected void makebutton(String name, GridBagLayout gridbag,
18             GridBagConstraints c)
19     {
20         Button button = new Button(name);
21         gridbag.setConstraints(button, c);
22         add(button);
23     }
24
25     public void init()
26     {
27         GridBagLayout gridbag = new GridBagLayout();
28         GridBagConstraints c = new GridBagConstraints();
29
30         setFont(new Font("SansSerif", Font.PLAIN, 14));
31         setLayout(gridbag);
32
33         c.fill = GridBagConstraints.BOTH;
34         c.weightx = 1.0;
35         makebutton("Button1", gridbag, c);
36         makebutton("Button2", gridbag, c);
37         makebutton("Button3", gridbag, c);
38
39         c.gridwidth = GridBagConstraints.REMAINDER; //end row
40         makebutton("Button4", gridbag, c);
41
42         c.weightx = 0.0; //reset to the default
43         makebutton("Button5", gridbag, c); //another row
44
45         c.gridwidth = GridBagConstraints.RELATIVE; //next-to-last in row
46         makebutton("Button6", gridbag, c);
47
48         c.gridwidth = GridBagConstraints.REMAINDER; //end row
49         makebutton("Button7", gridbag, c);
50
51         c.gridwidth = 1; //reset to the default
52         c.gridheight = 2;
53         c.weighty = 1.0;
54         makebutton("Button8", gridbag, c);
55
56         c.weighty = 0.0; //reset to the default
57         c.gridwidth = GridBagConstraints.REMAINDER; //end row
58         c.gridheight = 1; //reset to the default
59         makebutton("Button9", gridbag, c);
60         makebutton("Button10", gridbag, c);
61
62         setSize(300, 100);
63     }
64
65     public static void main(String args[])
66     {
67         JFrame f = new JFrame("GridBag Layout Example");
68         f.setLocation(400, 200);
69         GridBagEx2 ex1 = new GridBagEx2();
70
71         ex1.init();
72
73         f.add("Center", ex1);
74         f.pack();
75         f.setSize(f.getPreferredSize());
76         f.setVisible(true);
77         f.addWindowListener(new WindowAdapter()
78         {
79
80             @Override
81             public void windowClosing(WindowEvent e)
82             {
83                 System.exit(0);
84             }
85
86         });
87     }
88
89 }
时间: 2025-01-09 01:08:42

使用GridBagLayout控制行列的高度和宽度的相关文章

as.3通过SWF元数据控制舞台的高度与宽度

package { import fl.controls.Label; import fl.controls.TextInput; import flash.display.Sprite; import flash.events.Event; [SWF(backgroundColor='0x00FF00',width='400',height='400',frameRate='29')] public class Main extends Sprite  { private var userNa

jquery库实现iframe自适应内容高度和宽度

javascript原生和jquery库实现iframe自适应内容高度和宽度---推荐使用jQuery的代码! ‍<iframe src="index.php" id="mainiframe" name="mainiframe" width="100%"   frameborder="0" scrolling="no" marginwidth="0" margi

JQuery 设置元素的高度和宽度相等

有时需要设置下面的情况,即 <div> 的高度和宽度是相等的.并且随着屏幕的大小变化而变化.这样就需要用 js 来控制元素在页面上的显示. <html> <body> <div class="row text-center margin-top-20p"> <div class="col bgcolor-FF9600 border-radius-5p margin-2p height-width"> <

不使用border-radius,实现一个可复用的高度和宽度都自适应的圆角矩形

现在css3支持圆角矩形,但是为了兼容性问题,虽然比较麻烦,但还是有必要了解一下以下方法. 在一个div内,包含8个div,控制这个8个div的height.margin以及border属性值,以达到圆角矩形效果,不过要注意div的顺序. html代码: <body> <div class="bor"> <div class="b1"></div> <div class="b2"><

自适应浏览器高度和宽度+字体大小 JS(主要针对Java后端&gt;&gt;全栈工程师)

自适应浏览器高度和宽度+字体大小有点:1.能自动判断当前浏览器的高度和宽度(页面里面设置均百分比宽度)2.JS里面自己设置字体大小,在不同分辨率下显示不一样的字体3.在浏览器最大化时候,JS会自动判断屏幕高宽,从而使样式布局不会冲突变化4.在浏览器最小化时候,JS会自动判断屏幕高宽,从而使最小化的屏幕还和全屏效果一致,只是出现滚动条全屏效果图01最小化效果图02页面设计效果图自适应高宽JS效果图附上JS代码(引用前必须先引用Jquery!!!)// 作者:[email protected]//

如何让高度、宽度不定的容器保持水平、垂直居中

这个题目似乎解决的办法很多,JS是最能够确保各种浏览器中一致性的,但是仍然可以使用CSS的方式来解决.这个问题分解为两个方面,第一解决左右居中的问题,第二解决上下居中的问题. 1.左右居中. 左右居中最为简单,使用 text-align:center; 就可以让绝大多数的对象居中对齐,并且这个属性也获得了几乎全部浏览器的支持.实际上,这个属性定义的是块级对象内部文字的对齐方式,内部的文字或者图像一般是内联对象. 也许有人会提到,为什么不用 margin:0 auto;这个办法呢?这是一个好问题,

CSS中的高度和宽度

1.简单的说,常规流向的块级元素,width为auto时,会尽量充满父元素的内容宽度,而height为auto时,则是由其内部的不浮动的子元素的高度决定(无浮动,绝对定位). 2.width:100%;width:auto <div>    <p>1</p></div><style type="text/css">div{ width:600px; overflow:auto;}p{ width:100%;      padd

Activity中获取view的高度和宽度为0的原因以及解决方案

在activity中可以调用View.getWidth.View.getHeight().View.getMeasuredWidth() .View.getgetMeasuredHeight()来获得某个view的宽度或高度,但是在onCreate().onStrart().onResume()方法中会返回0,这是应为当前activity所代表的界面还没显示出来没有添加到WindowPhone的DecorView上或要获取的view没有被添加到DecorView上或者该View的visibili

兼容的可视区高度和宽度

function viewWidth(){ return window.innerWidth || document.documentElement.clientWidth; } function viewHeight(){ return window.innerHeight || document.documentElement.clientHeight; } document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight =