gridbagconstraints什么意思_java rectangle

gridbagconstraints什么意思_java rectangle说明:GridBagLayout只有一个无参的构造器,要使用它就必须用setConstraints(Componentcomp,GridBagConstraintsconstraints)将它和GridBagConstraints关联起来!当GridBagLayout与无参的GridBagConstraints关联时,此时它就相当于一个GridLayout,只不过,用GridLayout布局的

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
说明:GridBagLayout只有一个无参的构造器,要使用它就必须用setConstraints(Component comp,GridBagConstraints constraints)将它和GridBagConstraints关联起来!当GridBagLayout与无参的GridBagConstraints关联时,此时它就相当于一个GridLayout,只不过,用GridLayout布局的组件会随着窗口的变 大(小)而变 大(小)。但GridBagLayout 不会,因此,这就是我们使用GridBagConstants来设置各个约束条件的目的!


      查看API文档,我们就知道GridBagConstraints有十一个属性!自我感觉API文档里面有些东西讲得不是很好理解,就象gridx 与 gridy 这两个属性一样,有些书上说gridx表示行,gridy表示列!API文档里面更是讲了一大堆。
     现在,提供本人对这些属性的理解:

   1,   gridx: 表示组件的左边缘与网格左部之间的距离,如果学过HTML的话,那么gridx就 相当于HTML 里面的leftmargin属性。

   2,   gridy:   表示组件的上边缘与网格顶部之间的距离,相当于HTML里面的topmargin属性!
  
   3,    ipadx:   表示组件在默认的大小上,往水平方向上再加上多少像素的大小!
  
   4,   ipady:   表示组件在默认的大小上,往垂直方向上再加上多少像素的大小!

   5,     fill:   当组件没有空间大时。它可以确定是否填充空间!

   6,   anchor:   当组件没有空间大时。它可以确定在显示区域中放置组件的位置!

   7, insets:   设置组件之间彼此的间距,它有四个参数,分别是上,左,下,右,

默认值为(0,0,0,0)  

            
   8,weightx:   用来设置当窗口变大时,各组件沿水平方向跟着变大的比例,数字越大,表示组件能得到的空间越大

   9,weighty:   用来设置当窗口变大时,各组件沿垂直方向跟着变大的比例,数字越大,表示组件能得                  到的空间越大

10,gridwidth   用来设置组件所占的单位长度,默认值为1。

11,gridheight 用来设置组件所占的单位高度,默认值为1。  



   对gridwidth与gridheight做了修改后,必须记得要对fill属性做相应的修改,否则组件所显示的大小     还是原来的大小
  
===========================================================================================
      建议:运用GridBagLayout这种布局方式时,比较适合于把所有的组件围成一个四边形。所以,我们在设计这种布局方式前,可以先在纸上画一下每个组件的大概位置,然后保证每一行的长度(即每一行的gridwidth之和)都相等,且每一列的长度(即每一列的gridheight之和)也相等,这样,就能按我们要的蓝图而得到实现! 另外,有些属性是要跟另外一些属性搭配着用的,只有把相联系的属性都做了相应的修改,我们才能看到变化!比如说上面所说到的gridwidth与gridheight必须与fill属性联合起来用才能看到结果!

下面来个实际的例子:

import java.awt.*;import javax.swing.*;public class Test {    public static void main(String[] args) {        JFrame f = new JFrame("Test");             JButton b1 = new JButton("Button1");       JButton b2 = new JButton("Button2");       JButton b3 = new JButton("Button3");       JButton b4 = new JButton("Button4");       JButton b5 = new JButton("Button5");       JButton b6 = new JButton("Button6");       JButton b7 = new JButton("Button7");             GridBagConstraints c = new GridBagConstraints();       GridBagLayout g = new GridBagLayout();             f.setLayout(g);       f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                   f.add(b1);   //由于属性都有默认值,前面的按默认值来加入!       f.add(b2);       f.add(b3);       c.gridy = 1;       c.gridwidth = 3 ;   //修改了gridwidth值       c.fill = GridBagConstraints.BOTH; //所以这里要做相应的修改才能按gridwidth的值来显示       g.setConstraints(b4,c);       f.add(b4);             c = new GridBagConstraints();       c.gridy = 2;       g.setConstraints(b5,c);       f.add(b5);             c = new GridBagConstraints();       c.gridy = 3;       g.setConstraints(b6,c);       f.add(b6);                   c = new GridBagConstraints();       c.gridx = 1;       c.gridy = 2;       c.gridwidth = 2;       c.gridheight = 2;       c.fill = GridBagConstraints.BOTH;   //同上面的注释       g.setConstraints(b7,c);       f.add(b7);             f.pack();       f.setVisible(true);   }}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195509.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [转]我如烟的世界里曾飘落幻美的花

    [转]我如烟的世界里曾飘落幻美的花

    2021年7月24日
    61
  • 缠中说禅 图解_缠中说禅图解

    缠中说禅 图解_缠中说禅图解博客原文图解分析示范显示,第一个绿箭头的那一笔,没有发生笔破坏,那必然要回落去完成线段的走势,这是理论上100%保证的。而92这一处,出现线段破坏,但该线段不能拉回85处,那么这就构成了85-88这1分钟中枢的第三类卖点,后面的继续下跌也是理论100%保证的。93处,标准的线段类背驰,这就意味着92这1分钟第三类卖点,将出现中枢扩展,至少形成一个1分钟中枢,这也是理论100%保证的。也就是说88-93的下跌已经完成,后面必然有一个针对这下跌的反弹。后面的演化,都如教科书般标准,学过本ID理论的,都知

    2025年6月3日
    2
  • 1073. 树的中心(树形dp)[通俗易懂]

    1073. 树的中心(树形dp)[通俗易懂]给定一棵树,树中包含 n 个结点(编号1~n)和 n−1 条无向边,每条边都有一个权值。请你在树中找到一个点,使得该点到树中其他结点的最远距离最近。输入格式第一行包含整数 n。接下来 n−1 行,每行包含三个整数 ai,bi,ci,表示点 ai 和 bi 之间存在一条权值为 ci 的边。输出格式输出一个整数,表示所求点到树中其他结点的最远距离。数据范围1≤n≤10000,1≤ai,bi≤n,1≤ci≤105 输入样例: 5 2 1 1 3 2 1 4 3 1 5 1

    2022年8月8日
    4
  • spring boot 时间戳转日期格式

    spring boot 时间戳转日期格式第一种方式:默认的json处理是jackson也就是对configureMessageConverters没做配置时mybatis数据查询返回的时间,是一串数字,如何转化成时间。两种方法,推荐第一种方法一:可以在apllication.property加入下面配置就可以#时间戳统一转换  spring.jackson.date-format=yyyy-MM-ddHH:mm:ss…

    2022年6月21日
    58
  • shell字符串匹配正则_shell字符串替换

    shell字符串匹配正则_shell字符串替换一、简介     BashShell提供了很多字符串和文件处理的命令。如awk、expr、grep、sed等命令,还有文件的排序、合并和分割等一系列的操作命令。grep、sed和awk内容比较多故单独列出,本文只涉及字符串的处理和部分文本处理命令。二、字符串处理1、expr命令expr引出通用求值表达式,可以实现算术操作、比较操作、字符串操作和逻辑操作等

    2022年8月21日
    10
  • PopupWindow错误:PopupWindow$1.onScrollChanged 出现 NullPointerException和PopupViewContainer.dispatchKeyEv…

    PopupWindow错误:PopupWindow$1.onScrollChanged 出现 NullPointerException和PopupViewContainer.dispatchKeyEv…

    2021年8月28日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号