- 浏览: 831413 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (379)
- struts (5)
- hibernate (16)
- spring (16)
- ssh (20)
- MySQL (16)
- 数据库脚本 (2)
- DownLoad (1)
- GAE (5)
- Java (103)
- LoadRunner (2)
- VF (1)
- 学习资料 (24)
- 软件使用 (21)
- 通信类 (4)
- 生活 (3)
- J2ME (1)
- 心理学 (1)
- Linux (26)
- Android (3)
- Oracle (1)
- 面向对象概念&面试准备 (11)
- ExtJs (2)
- Google Map (1)
- Flex (47)
- 算法研究 (1)
- share (20)
- python (1)
- MongoDB (7)
- centos6 (13)
- C++ (8)
- DB2 (3)
- C# (1)
- 代码片段 (24)
- Lucene (2)
- php (1)
- NodeJS (1)
- Express (1)
最新评论
-
shua1991:
已阅,我表示同意。
Eclipse统计代码行数 -
nakedou:
写的不错,挺详细的
在CentOS中使用 yum 安装MongoDB及服务器端配置 -
sjp524617477:
好方法
Eclipse统计代码行数 -
simpletrc:
<script>ale ...
Java写到.txt文件,如何实现换行 -
csdn_zuoqiang:
Apache Ftp Server,目前是1.0.4,非常好的 ...
Apache FtpServer在64位系统下服务不能启动解决方法
http://hi.baidu.com/whicss/blog/item/d1e7d819efbc1a76dbb4bd03.html
Alignments
JGoodies Forms 允許元件排列:水平 – left、center、right 垂直 – top、center、bottom 並且可以填滿 (fill) 一個或多個cell之中有用的空間。
FormLayout layout = new FormLayout(
"left:pref, 15px, center:pref, 15px, right:pref, 15px, fill:pref,15px, pref",
"pref, 12px, pref, 4px, pref, 4px, pref, 4px, pref, 4px, pref");
上面的程式碼是告知元件在行與列中default的排列方式和大小。如果想改變元件的排列方式的話,可以利用CellConstraints的instance在元件加入時改變。
panel.add(new JLabel("Fill"), cc.xy(7, 1, "center, center" ));
panel.add(new JLabel("Default"), cc.xy(9, 1, "center, center" ));
Basic Sizes
Form提供了豐富的大小設定:75px 指的是固定75像素的大小,pref是元件最適當的大小。
private JComponent buildHorizontalSizesPanel() {
FormLayout layout = new FormLayout(
"pref, 12px, " + "75px, 25px, min, 25px, pref",
"pref, 12px, pref");
// Create a panel that uses the layout.
JPanel panel = new JPanel(layout);
// Set a default border.
panel.setBorder(Borders.DIALOG_BORDER);
// Create a reusable CellConstraints instance.
CellConstraints cc = new CellConstraints();
// Add components to the panel.
panel.add(new JLabel("75px"), cc.xy(3, 1));
panel.add(new JLabel("Min"), cc.xy(5, 1));
panel.add(new JLabel("Pref"), cc.xy(7, 1));
panel.add(new JLabel("new JTextField(15)"), cc.xy(1, 3));
panel.add(new JTextField(15), cc.xy(3, 3));
panel.add(new JTextField(15), cc.xy(5, 3));
panel.add(new JTextField(15), cc.xy(7, 3));
return panel;
}
上面利用"+"來區隔出不同的元件區塊,進而使程式碼不會太雜亂。
Growing
如果容器大於最適當的容器大小,會有額外的空間。這時就可以指明如何去分配這些額外的空間 ~ 讓單一的行或列擴張(growing),或是結合行列。
接著來看看這些程式碼片斷...
private JComponent buildHorizontalAllExtraSpacePanel() {
FormLayout layout = new FormLayout(
"pref, 6px, pref:grow",
"pref, 12px, pref");
JPanel panel = new JPanel(layout);
panel.setBorder(Borders.DIALOG_BORDER);
CellConstraints cc = new CellConstraints();
panel.add(new JLabel("Fixed"), cc.xy(1, 1));
panel.add(new JLabel("Gets all extra space"), cc.xy(3, 1));
panel.add(new JTextField(5), cc.xy(1, 3));
panel.add(new JTextField(5), cc.xy(3, 3));
return panel;
}
在formLayout的參數中可以看到pref:grow 。表示說,在這個位置的元件,大小為元件本身的大小 (最合適的大小...pref ) ,並會隨著面版的縮放,進而縮小或放大填滿剩下的有用空間 ( grow )。
private JComponent buildHorizontalHalfAndHalfPanel() {
FormLayout layout = new FormLayout(
"pref, 6px, 0:grow , 6px, 0:grow ",
"pref, 12px, pref");
JPanel panel = new JPanel(layout);
panel.setBorder(Borders.DIALOG_BORDER);
CellConstraints cc = new CellConstraints();
panel.add(new JLabel("Fixed"), cc.xy(1, 1));
panel.add(new JLabel("Gets half of extra space"), cc.xy(3, 1));
panel.add(new JLabel("gets half of extra space"), cc.xy(5, 1));
panel.add(new JTextField(5), cc.xy(1, 3));
panel.add(new JTextField(5), cc.xy(3, 3));
panel.add(new JTextField(5), cc.xy(5, 3));
return panel;
}
0:grow 表示在這個位置的元件,對齊方式是fill (default) ,元件大小為0,並且會擴張填滿目前剩下的有用空間。
下面二張圖可以看出pref:grow 與0:grow 的差別...
上面的圖是pref:grow ,下面的是0:grow 。可以發現到上面的圖第三個元件畫面被截掉了,這是因為第二個元件保有他自己本身的大小所致。
private JComponent buildHorizontalPercentMixedPanel() {
FormLayout layout = new FormLayout(
"pref, 6px, fill:0:grow(0.25) , 6px, fill:0:grow(0.75)",
"pref, 12px, pref");
JPanel panel = new JPanel(layout);
panel.setBorder(Borders.DIALOG_BORDER);
CellConstraints cc = new CellConstraints();
panel.add(new JLabel("Fixed"), cc.xy(1, 1));
panel.add(new JLabel("Gets 25% of extra space"), cc.xy(3, 1));
panel.add(new JLabel("Gets 75% of extra space"), cc.xy(5, 1));
panel.add(new JTextField(5), cc.xy(1, 3));
panel.add(new JTextField(5), cc.xy(3, 3));
panel.add(new JTextField(5), cc.xy(5, 3));
return panel;
}
fill:0:grow(0.25)表示說:在這個位置的元件對齊方式是fill,元件大小為0,可以擴張的比列是:全部空間中的25%。
private JComponent buildHorizontalPercentPanel() {
FormLayout layout = new FormLayout(
" pref:grow(0.33) , 6px, pref:grow(0.67)",
"pref, 12px, pref");
JPanel panel = new JPanel(layout);
panel.setBorder(Borders.DIALOG_BORDER);
CellConstraints cc = new CellConstraints();
panel.add(new JLabel("Gets 33% of the space"), cc.xy(1, 1));
panel.add(new JLabel("Gets 67% of the space"), cc.xy(3, 1));
panel.add(new JTextField(5), cc.xy(1, 3));
panel.add(new JTextField(5), cc.xy(3, 3));
return panel;
}
pref:grow(0.33)表示說:在這個位置的元件對齊方式是fill (default) ,元件大小為pref,可以縮放的比列是:剩下空間中的 33%。
fill:0:grow(x) 與pref:grow(x) 的不同處...
用相同的比例來看看,上面的圖使用的是fill:0:grow(0.25)
,下面的是pref:grow(0.25)
。上圖因為元件大小為0,所以直接取得整個空間中的25%(在先前元件之後的空間)。而下面的圖,因為保有基本的元件大小(pref),所以gorw只會取得...在所有
元件基本大小(pref)之後的額外空間(在這為25%)。也就是說,整個空間先減去所有
元件的基本大小,之後再從剩下空間中(若有的話)分配25%給此位置的元件,75%也是一樣。下面的圖說明一切...
发表评论
-
微信JS
2013-10-26 21:17 2045<div class="iteye-blog- ... -
ubuntu下MySQL用source命令导入sql文件出现乱码解决方法
2012-11-18 23:46 1488首先建立数据库的时候指明数据库编码如: CREA ... -
RandomAccessFile
2012-10-18 18:16 946public void run() { try { ... -
java中多种方式读文件
2012-10-18 16:53 930java中多种方式读文件一、多种方式读文件内容。1、按字节读取 ... -
FileChannelMain
2012-10-15 18:12 1076package scan; import java ... -
Apache FtpServer在64位系统下服务不能启动解决方法
2012-06-10 21:29 6803Apache FTPServer是一款用Java开发的 ... -
Java 集合类
2012-06-07 22:03 1574Java 集合类 1. 为什么要了解J ... -
short、int、long与byte之间的转换工具类
2012-05-31 11:05 4478/** * 各基础类型与byte之间的转换 * ... -
Linux Mint 13 配置JAVA 环境
2012-05-24 22:35 26210.1--下载 JAVA ... -
FatJar+Exe4j+Inno Setup 生成可执行的exe文件
2012-04-17 10:54 14281、fatjar 是Eclipse的一个免费的插件。它的 ... -
一个开源的高效全文检索框架(懂C语言可以进来研究下原理)
2012-04-07 23:03 1346示例地址: http://rbbs.sourcefor ... -
批量删除删除CVS文件夹
2012-04-06 16:11 2007@echo On @Rem C:/Users/XPan ... -
JPanel JTextField add Focus 获取焦点解决方案
2012-03-30 21:29 2980public class TabPagePanel ex ... -
JList List<E> Page 分页
2012-03-30 21:28 1733package view.retrieve.comps. ... -
JButton setAction的BUG
2012-03-23 10:53 1278今天在使用JButton的时候,想用setText()setI ... -
自定义JTabbedPane皮肤
2012-03-22 12:05 4711package ui; import java.awt. ... -
两个工具类
2012-03-17 21:27 867package com.retrieve.utils; ... -
两个工具类
2012-03-17 21:27 0package com.retrieve.utils; ... -
mysql、sqlserver、oracle分页,java分页统一接口实现
2012-03-13 17:56 0定义: pageStart 起始页,pageEnd 终止页, ... -
Invalid command: InetLoad::load
2012-03-06 16:41 1288Invalid command: InetLoad::load ...
相关推荐
SwingHacks #36节中所用到的JGoodies的包:forms-1.0.5.jar
介绍 JGoodies FORM FRAMWORK 的不错的资料
jgoodies最新免费版,由于官网不再提供免费版,上述资源是可以下载到的最新免费版,如有需要欢迎下载。
jgoodies的.jar包,jgoodies网站好像国内ip上不去,这里分享一下:)
上次没有传完,这次将所有jar文件和源码打成zip包。...jgoodies-binding-2_2_1.zip jgoodies-common-1_1_1.zip jgoodies-forms-1_4_0.zip jgoodies-looks-2_4_0.zip jgoodies-validation-2_2_0.zip
jgoodies-validation jgoodies-looks jgoodies-forms 上传真难,
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Validation
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Binding
jgoodies-binding jgoodies-common jgoodies-forms jgoodies-looks jgoodies-validation
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Common
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Looks
use jgoodies to develop GUI in java
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Forms
可以工作在中文环境下的jgoodies look and feel。jgoodies官方提供的包在中文环境下是没法运行的,都是乱码。我修改了源码,可以在中文环境下正常显示中文。
jgoodies swing Java 皮肤
JGoodies Forms 1.2.1
JGoodies animation jgoodies-binding jgoodies-common jgoodies-forms jgoodies-looks jgoodies-validation jar 最全的JGoodies jar包 包含doc src
官方jgoodies-forms-1.8.0.jar包,可直接导入到项目中使用
JGoodies Look and Feel 2.2.1 一个不错的Swing 外观组件. 里面有demo
JGoodies FormLayout:一个布局管理器。 被IntelliJ IDEA集成。 网站被踢出墙去了(莫名其妙)