关于GridBagLyout管理器的用法

问题描述

有一段简单的界面布局代码如下: username = new JTextField(20); password = new JPasswordField(20); submitButton = new JButton("确定"); cancelButton = new JButton("取消");GridBagLayout gridBagLayout = new GridBagLayout(); GridBagConstraints gbc = new GridBagConstraints(); mainPanel.setLayout(gridBagLayout); gbc.anchor=GridBagConstraints.SOUTHWEST; Insets insets = new Insets(5, 50, 5, 5); gbc.insets = insets; gbc.gridx=1; gbc.gridy=1; mainPanel.add(new JLabel(" "),gbc); gbc.gridx=2; gbc.gridy=2; mainPanel.add(new JLabel(" "),gbc); gbc.gridx=3; gbc.gridy=3; mainPanel.add(new JLabel(" "),gbc); gbc.gridx=3; gbc.gridy=4; mainPanel.add(new JLabel(" "),gbc); //username gbc.gridx=3; gbc.gridy=5; gbc.gridwidth = GridBagConstraints.REMAINDER; gbc.fill = GridBagConstraints.NONE; mainPanel.add(username, gbc); //password gbc.gridy=GridBagConstraints.RELATIVE; gbc.gridwidth = GridBagConstraints.REMAINDER; mainPanel.add(password, gbc); //submit gbc.gridy=GridBagConstraints.RELATIVE; gbc.gridwidth = 1; mainPanel.add(submitButton, gbc); //cancel gbc.gridx=GridBagConstraints.RELATIVE; mainPanel.add(cancelButton, gbc); 界面的效果是在一个背景图的中间偏右下角的地方,每一行放置一个文本输入,分别用作帐号和密码的输入,第3行放置两个按钮,确定和取消,因为背景图上写好了“用户名”和“密码”这几个字,所以我的两个TextField必须要分别的紧跟着这几个字的后面,现在布局基本没什么问题,但是我想把输入用户名和密码的TextField的长度给缩短点,我用username.setPreferredSize(new Dimension(100, 10));和setSize函数都不行,username的长度一点变化都没有。反倒是宽值可以跟随数值变化,正在学GridBagLayout的布局。谢谢了。 问题补充:郭广川 写道

解决方案

可以这样方法一、设置int fieldWidth=50(具体是什么变量,要根据情况,在这里是你的文本框长度值,自己设置一下)gbc.ipadx= fieldWidth; 就行了方法二、或者设置username.setMinSize(new Dimension(100, 10));注意是最小值,而不是最适值如果还有什么问题,可以再补充……

时间: 2024-07-31 04:38:26

关于GridBagLyout管理器的用法的相关文章

Ruby中gem包管理器的用法及用bundler来管理多版本的gem_ruby专题

gem常用命令 gem -v # 查看RubyGems软件的版本 gem help #显示RubyGem使用帮助 gem help example #列出RubyGem命令一些使用范例 gem install [gemname] # 安装指定gem包,程序先从本机查找gem包并安装,如果本地没有,则从远程gem安装. gem install -l [gemname] # 仅从本机安装gem包 gem install -r [gemname] # 仅从远程安装gem包 gem install [g

前端模块管理器简介

模块化结构已经成为网站开发的主流. 制作网站的主要工作,不再是自己编写各种功能,而是如何将各种不同的模块组合在一起. 浏览器本身并不提供模块管理的机制,为了调用各个模块,有时不得不在网页中,加入一大堆script标签.这样就使得网页体积臃肿,难以维护,还产生大量的HTTP请求,拖慢显示速度,影响用户体验. 为了解决这个问题,前端的模块管理器(package management)应运而生.它可以轻松管理各种JavaScript脚本的依赖关系,自动加载各个模块,使得网页结构清晰合理.不夸张地说,将

AndroidUI设计之 布局管理器 - 详细解析布局实现

写完博客的总结 : 以前没有弄清楚的概念清晰化 父容器与本容器属性 : android_layout...属性是本容器的属性, 定义在这个布局管理器的LayoutParams内部类中, 每个布局管理器都有一个LayoutParams内部类, android:... 是父容器用来控制子组件的属性. 如android:layout_gravity 是控制组件本身的对齐方式, android:gravity是控制本容器子组件的对齐方式; . 作者 :万境绝尘  转载请注明出处 : http://blo

Facebook 发布了新的 Node 模块管理器 Yarn,或取代 npm 客户端

本文讲的是Facebook 发布了新的 Node 模块管理器 Yarn,或取代 npm 客户端, 在 JavaScript 社区中,工程师们互相分享成千上万的代码,帮助我们节省大量编写基础组件.类库或框架的时间.每个代码包可能都依赖于其他代码,而代码间的依赖关系则由包管理器负责维护.目前最流行的 JavaScript 包管理器是 npm 客户端,在 npm 仓库中提供了多达 30 万的软件包.据统计,已有超过 500 万的工程师使用 npm 仓库,其软件包下载量达到了 50 亿次/月. 在 Fa

《Groovy官方教程》Grape依赖管理器

原文链接 译文链接 译者:JackWang 1 快速入门 1.1添加一个依赖 Grape是一个内嵌在Groovy里的Jar包依赖管理器.Grape让你可以快速添加maven仓库依赖到你的classpath里,使脚本运行更加简单.最简单的一种用法是只需要在你的脚本里添加一个注解: @Grab(group='org.springframework', module='spring-orm', version='3.2.5.RELEASE') import org.springframework.jd

Cmstp 安装或删除“连接管理器”服务配置文件_DOS/BAT

Cmstp 安装或删除"连接管理器"服务配置文件.如果在不含可选参数的情况下使用,则 cmstp 会使用对应于操作系统和用户的权限的默认设置来安装服务配置文件. 语法 语法 1: ServiceProfileFileName.exe /q:a /c:"cmstp.exe ServiceProfileFileName.inf [/nf] [/ni] [/ns] [/s] [/su] [/u]" 语法 2: cmstp.exe [/nf] [/ni] [/ns] [/s

Windows 服务控制管理器通信的命令行程序_应用技巧

SC 是用于与服务控制管理器通信的命令行程序. 用法: sc <server> [command] [service name] <option1> <option2>... 选项 <server> 的格式为 "\\ServerName" 可以键入 "sc [command]"以获得命令的进一步帮助 命令: query-----------查询服务的状态, 或枚举服务类型的状态. queryex---------查询服

Windows 7游戏管理器

  提起Win7的游戏管理器,可以将众多的游戏集成到一个窗口中且能完整地显示每个游戏的详细信息,因此非常方便我们从中选择自己喜欢的游戏来玩.但美中不足的是,Windows7游戏管理器只支持显示微软自己开发的某些游戏(如"红心大战"). 我们能否将自己平常喜欢玩的任意一个游戏添加到Win 7的游戏管理器当中呢?答案当然是肯定的.接下来,笔者就以添加经典的FPS游戏"反恐精英"为例子,给大家介绍一下如何来实现. 让第三方游戏在游戏管理器中显示 Win7游戏管理器默认能够

用社交网络连接WebSphere MQ:列队管理器和MQ应用程序的Twitter通知

如今,社交网络无所不在 -- 为了与朋友联系,或是为了让自己与时俱进,抑或是为了让别人获知共同关心话题的最新进展.社交网络在企业中也很有用.本文将向您展示如何快速而轻松地在您的 WebSphere MQ 应用程序中使用社交网络软件(比如 Twitter)向广大的系统管理员或最终用户,甚至是向其他应用程序或中间件发送状态及问题信息.本文中的示例使用的是面向 WebSphere Application Server Community Edition 运行时的 JEE 技术(简单的消息驱动的 bea