文档章节

java 中网格布局需要注意的细节

hero丶
 hero丶
发布于 2017/04/10 16:01
字数 608
阅读 4
收藏 0
点赞 0
评论 0

1.通过下面的例子,我们可以看到,网格布局面板中添加分割线的方法是:   [java]   GridBagConstraints grid4 = new GridBagConstraints();           grid4.gridx = 3;           grid4.gridy = 0;           grid4.fill = GridBagConstraints.VERTICAL;           grid4.insets =  new Insets(0, 5, 0, 5);                      JSeparator separator4 = new JSeparator();   //创建竖直分隔线           separator4.setOrientation(JSeparator.VERTICAL);       [java]   container.add(separator4, grid4);     如果去掉grid4.fill = GridBagConstraints.VERTICAL;语句,就会造成分割线不能显示,这点需要特别注意。 有兴趣的读者可以去试下。   2.另外就是对于网格布局管理器的单位网格,当添加到单位网格中的组件过大或者过小时,该网格会自动调整大小,直至能够容下该组件。当然自动调整时仍会保证同行网格高度相同,同列网格宽度相同。     还有就是weightx,weighty的默认值是0,即不自动扩展空白面板区域。如下面的代码,当某列weightx的值都为1,而其他列却都为默认值0时,该列会自动扩展空白区域。。   [java]  package Project;      import java.awt.;   import java.util.Date;      import javax.swing.;      public class Table3 extends JFrame   {       public Table3()       {           Container container = getContentPane();           container.setLayout(new GridBagLayout());                      GridBagConstraints grid1 = new GridBagConstraints();           grid1.gridx = 0;           grid1.gridy = 0;           grid1.weightx = 1;      //该列所有网格都设置为水平方向自动扩充           grid1.insets = new Insets(0, 5, 0, 5);                      JLabel label1 = new JLabel("没有任何窗口打开");                      GridBagConstraints grid2 = new GridBagConstraints();           grid2.gridx = 1;           grid2.gridy = 0;           grid2.fill = GridBagConstraints.VERTICAL;//去掉该语句,面板添加的分割线不显示           grid2.insets = new Insets(0, 5, 0, 5);                      JSeparator separator2 = new JSeparator();   //创建竖直分隔线           separator2.setOrientation(JSeparator.VERTICAL);                                 GridBagConstraints grid3 = new GridBagConstraints();           grid3.gridx = 2;           grid3.gridy = 0;   //      grid3.weighty = 1;      //设置该行所有网格在竖直方向上自动扩展           grid3.insets = new Insets(0, 5, 0, 5);                      JLabel label3 = new JLabel("操作员:");                      GridBagConstraints grid4 = new GridBagConstraints();           grid4.gridx = 3;           grid4.gridy = 0;           grid4.fill = GridBagConstraints.VERTICAL;           grid4.insets =  new Insets(0, 5, 0, 5);                      JSeparator separator4 = new JSeparator();   //创建竖直分隔线           separator4.setOrientation(JSeparator.VERTICAL);                                            GridBagConstraints grid5 = new GridBagConstraints();           grid5.gridx = 4;           grid5.gridy = 0;           grid5.insets = new Insets(0, 5, 0, 5);                      Date date = new Date();           JLabel label5 = new JLabel(String.format("%tF", date));                      GridBagConstraints grid6 = new GridBagConstraints();           grid6.gridx = 5;           grid6.gridy = 0;           grid6.fill = GridBagConstraints.VERTICAL;           grid6.insets = new Insets(0, 5, 0, 5);                      JSeparator separator6 = new JSeparator();   //创建竖直分隔线           separator6.setOrientation(JSeparator.VERTICAL);                                 GridBagConstraints grid7 = new GridBagConstraints();           grid7.gridx = 6;           grid7.gridy = 0;           grid7.insets = new Insets(0, 5, 0, 5);                      JLabel label7 = new JLabel("**公司进销存管理系统");                      container.add(label1, grid1);           container.add(separator2, grid2);           container.add(label3, grid3);           container.add(separator4, grid4);           container.add(label5, grid5);           container.add(separator6, grid6);           container.add(label7, grid7);                      setVisible(true);           setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);           setBounds(350, 150, 800, 200);       }       public static void  main (String []args)       {           Table3 table = new Table3();       }   }    

本文转载自:1.通过下面的例子,我们可以看到,网格布局面板中添加分割线的方法是:   [java]   GridBagConstraints grid4 = new GridBagConstraints()

共有 人打赏支持
hero丶
粉丝 0
博文 9
码字总数 898
作品 0
哈尔滨
程序员
14.5-全栈Java笔记:java.awt这些布局怎么写?|流式|边界|网格

布局管理器 读者会发现,如果使用坐标定位法(空布局),在一个比较复杂的界面上定位每个控件的坐标是一个非常麻烦的工作,而且在界面大小发生改变时,控件的绝对位置也不会随之发生改变。那...

全栈Java
06/26
0
0
Java图形用户界面布局控制Layout练习

尝试搭建登录对话框,包含两个文字标签(用户名、服务器IP),两个文本输入条(用户名、服务器IP),一个按钮(登录),按照自己认为合适的方式布局。   我把GridLayout(网格布局)、Bor...

devops1024
06/27
0
0
JBoss 系列二十七:JBoss Data Grid(Infinispan)下载安装和运行

JBoss Data Grid是Red Hat中间件产品(http://www.redhat.com/products/jbossenterprisemiddleware/data-grid/),JBoss Data Grid是基于开源社区产品Infinispan(http://infinispan.org/)。......

无鸯
2014/02/04
0
0
Java开发每日复盘2018_0515

今天跟大家分享几个Java小细节: 【1】「for each循环的写法」 【2】「常量 final 写法细节」 【3】「类型转换之String转其他」 下面我们来一个一个说: 【1】「for each循环的写法」 Java中:...

ZeroOSTalk
05/16
0
0
做几道基础的Java测试题,看看最近有进步吗?欢迎来学习

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

启示录是真的
05/24
0
0
从分析async-profiler的实现细节来学习jvmti

作者: 一字马胡 转载标志 【2017-12-22】 更新日志 厉害的内容分享 在上一篇文章中分享了一个用于分析java应用性能的厉害角色:async-profiler,具体的内容可以参考Java应用性能分析工具:a...

疼丸李白
2017/12/22
0
0
【转】HotSpot虚拟机对象探秘

请读者首先注意本篇的题目中的限定语“HotSpot虚拟机”,在虚拟机规范中明确写道, 所有在虚拟机规范之中没有明确描述的实现细节,都不应成为虚拟机设计者发挥创造性的牵绊,设计者可以完全自...

mj4738
2012/02/19
0
0
115个Java面试题和答案——终极列表(下)

第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。 ...

LCZ777
2014/04/23
0
0
玩转大数据系列之Apache Pig如何通过自定义UDF查询数据库(五)

GMV(一定时间内的成交总额)是一个衡量电商网站营业收入的一项重要指标,例如淘宝,京东都有这样的衡量标准,感兴趣的朋友可以自己科普下这方面的概念知识。 当然散仙今天,并不是来解释概念的...

九劫散仙
2015/03/12
0
0
Java OutOfMemoryError 的原因是什么,什么是Java native方法

一、Java OutOfMemoryError 的原因是什么,什么是Java native方法?转载的博文 容易发生内存溢出问题的内存空间包括:Permanent Generation space和Heap space。 常见的几种错误: 1.1 OutO...

Oscarfff
2015/05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CVE-2013-0077 堆溢出分析

找了很久才发现这个环境比较容易搭建分析... 环境: 系统---Win XP SP3 漏洞程序:QQPlayer 3.7.892.400 出错DLL:quartz.dll 6.5.2600.5512 调试工具:x32db+gflag.exe 过程: 首先gflag设置...

Explorer0
16分钟前
5
0
python上传文件

//注意 <form action="/login/" method="post" enctype="multipart/form-data"> f=request.FILES.get('fafa') ff=open(f.name,mode='wb') for i in f.chunks(): ff.write(i) ff.close()......

南桥北木
28分钟前
0
0
CISCO VPN Client Reason 442 WIN8/10错误解决方案

http://jdkleo.iteye.com/blog/2163493 引用 http://my.oschina.net/cloudcoder/blog/220391?p={{currentPage 1}} 在使用cisco VPN 客户端登录时,产生Reason 442:Failedto enable Virtual......

chenfj_fer
31分钟前
0
0
信号量有没有容量限制?

之前一直误以为信号量初始化的时候那个初始化的值是信号量的“容量”,昨天同事指出了我的错误,最初我是不相信的,经过以下代码实践,证明了我的错误: Java版: import java.util.concurr...

锟斤拷烫烫烫
35分钟前
0
0
【RocketMQ】Message存储笔记

概述 消息中间件存储分为三种,一是保存在内存中,速度快但会因为系统宕机等因素造成消息丢失;二是保存在内存中,同时定时将消息写入DB中,好处是持久化消息,如何读写DB是MQ的瓶颈;三是内...

SaintTinyBoy
46分钟前
0
0
Android应用Context详解及源码解析

Android应用Context详解及源码解析 本文定位:优质文章收集 本文转载 1 背景 今天突然想起之前在上家公司(做TV与BOX盒子)时有好几个人问过我关于Android的Context到底是啥的问题,所以就马...

lichuangnk
今天
0
0
PostgreSQL的昨天今天和明天

PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS), 也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。 这个起源于伯克利(...

闻术苑
今天
1
0
Mysql对自增主键ID进行重新排序

1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2,添加新主键字段: ALTER TABLE `table_name` ADD `id` MEDIUMINT( 8 ) NOT NULL FIRST; 3,设置新主键: ALTER TABLE `table_nam......

niithub
今天
0
0
福利篇:免费csdn vip账号分享

分享一个发布免费csdn vip账号的网站:啰嗦vip www.lostvip.com , 各种软件开发类的视频教程:慕课网、动脑学院、黑马各大培训机构VIP视频教程,非常不错!

在水一方发盐人
今天
1
0
Nginx+Tomcat搭建高性能负载均衡集群

一、 工具   nginx-1.8.0   apache-tomcat-6.0.33 二、 目标   实现高性能负载均衡的Tomcat集群:    三、 步骤   1、首先下载Nginx,要下载稳定版:      2、然后解压两个Tom...

码代码的小司机
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部