- 浏览: 450775 次
- 性别:
- 来自: 杭州
最新评论
-
小灯笼:
Netty源码剖析视频教程网盘地址:https://pan.b ...
Netty -
ainaruto10:
Java NIO -
ainaruto10:
mark以后仔细看
Netty -
kongdong88:
Netty简单应用与线上服 ...
Netty -
13592539017:
13592539017 写道nich002 写道广告狗滚出IT ...
Netty
以前看过一点jgoodies的布局,没有深入研究。这几天画界面,越看越难看,看不下去了,就要整布局。
在网上找资料,中文资料几乎没有。
翻*墙(这2个字连在一起,居然不能发,于是加了个*)到官网找,发现那里的Demo很好看,都是没有附源码的,狂晕。。。
这里写几个官方白皮书里面的例子,及对应的效果:
FormLayout:
package com.lippeng.helloworld; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; public class HelloWorld { public static void main(String[] args) { JFrame jFrame = new JFrame("HelloWorld"); FormLayout layout = new FormLayout("pref, 4dlu, 50dlu, 4dlu, min", // columns "pref, 2dlu, pref, 2dlu, pref");// rows layout.setRowGroups(new int[][] { { 1, 3, 5 } }); Container contentPane = jFrame.getContentPane(); contentPane.setLayout(layout); CellConstraints cc = new CellConstraints(); contentPane.add(new JLabel("Label1"), cc.xy(1, 1)); contentPane.add(new JTextField(), cc.xyw(3, 1, 3)); contentPane.add(new JLabel("Label2"), cc.xy(1, 3)); contentPane.add(new JTextField(), cc.xy(3, 3)); contentPane.add(new JLabel("Label3"), cc.xy(1, 5)); contentPane.add(new JTextField(), cc.xy(3, 5)); contentPane.add(new JTextField(), cc.xy(5, 5)); jFrame.setVisible(true); jFrame.setSize(200, 200); } }
效果如下:
DefaultFormBuilder :
package com.lippeng.helloworld; import java.awt.BorderLayout; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import com.jgoodies.forms.builder.DefaultFormBuilder; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; public class HelloWorld { public static void main(String[] args) { JFrame jFrame = new JFrame("HelloWorld"); FormLayout layout = new FormLayout(// "right:max(40dlu;p), 4dlu, 80dlu, 7dlu, " // 1st major column + "right:max(40dlu;p), 4dlu, 80dlu", // 2nd major column ""); // add rows dynamically DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder(); builder.appendSeparator("Segment"); builder.append("Identifier", new JTextField()); builder.nextLine(); builder.append("PTI [kW]", new JTextField()); builder.append("Power [kW]", new JTextField()); builder.append("len [mm]", new JTextField()); builder.nextLine(); builder.appendSeparator("Diameters"); builder.append("da [mm]", new JTextField()); builder.append("di [mm]", new JTextField()); builder.append("da2 [mm]", new JTextField()); builder.append("di2 [mm]", new JTextField()); builder.append("R [mm]", new JTextField()); builder.append("D [mm]", new JTextField()); Container contentPane = jFrame.getContentPane(); contentPane.setLayout(new BorderLayout()); contentPane.add(builder.getPanel(), BorderLayout.CENTER); jFrame.setVisible(true); jFrame.setSize(600, 400); } }
下面的代码,效果和上面完全一致,用的是PanelBuilder :
package com.lippeng.helloworld; import java.awt.BorderLayout; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import com.jgoodies.forms.builder.DefaultFormBuilder; import com.jgoodies.forms.builder.PanelBuilder; import com.jgoodies.forms.layout.CellConstraints; import com.jgoodies.forms.layout.FormLayout; public class HelloWorld { public static void main(String[] args) { JFrame jFrame = new JFrame("HelloWorld"); FormLayout layout = new FormLayout("right:max(50dlu;p), 4dlu, 75dlu, 7dlu, right:p, 4dlu, 75dlu", "p, 2dlu, p, 3dlu, p, 3dlu, p, 7dlu, " + "p, 2dlu, p, 3dlu, p, 3dlu, p"); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder(); CellConstraints cc = new CellConstraints(); builder.addSeparator("Segment", cc.xyw(1, 1, 7)); builder.addLabel("Identifier", cc.xy(1, 3)); builder.add(new JTextField(), cc.xy(3, 3)); builder.addLabel("PTI [kW]", cc.xy(1, 5)); builder.add(new JTextField(), cc.xy(3, 5)); builder.addLabel("Power [kW]", cc.xy(5, 5)); builder.add(new JTextField(), cc.xy(7, 5)); builder.addLabel("len [mm]", cc.xy(1, 7)); builder.add(new JTextField(), cc.xy(3, 7)); builder.addSeparator("Diameters", cc.xyw(1, 9, 7)); builder.addLabel("da [mm]", cc.xy(1, 11)); builder.add(new JTextField(), cc.xy(3, 11)); builder.addLabel("di [mm]", cc.xy(5, 11)); builder.add(new JTextField(), cc.xy(7, 11)); builder.addLabel("da2 [mm]", cc.xy(1, 13)); builder.add(new JTextField(), cc.xy(3, 13)); builder.addLabel("di2 [mm]", cc.xy(5, 13)); builder.add(new JTextField(), cc.xy(7, 13)); builder.addLabel("R [mm]", cc.xy(1, 15)); builder.add(new JTextField(), cc.xy(3, 15)); builder.addLabel("D [mm]", cc.xy(5, 15)); builder.add(new JTextField(), cc.xy(7, 15)); Container contentPane = jFrame.getContentPane(); contentPane.setLayout(new BorderLayout()); contentPane.add(builder.getPanel(), BorderLayout.CENTER); jFrame.setVisible(true); jFrame.setSize(600, 400); } }
发表评论
-
linshi
2015-03-09 09:50 2public static List<X509 ... -
根据复合主键删除表中重复数据
2014-11-19 09:52 1332一个数据库表中,开始可能随便放了一些数据,之后把多个字段定为 ... -
jstatd的配置
2014-01-08 12:01 2035为了在本机上方便用jvisualvm看linux机器上JVM ... -
IDEA常用插件
2013-03-12 10:12 1949IDEA每次升级,插件要重装,每装一次,这些插件都要重新装过 ... -
Sybase分页查询
2012-06-08 13:02 16965Sybase的分页,可以说, ... -
ClearCase 常用命令总结
2012-06-08 10:45 6510图形化操作,也基本够用了,但很多操作,还是命令方便。 这 ... -
Access 数据 导入mysql
2011-06-21 17:39 1996刚完成了一件事,虽然不难,觉得挺好玩,在这里写写。。。 ... -
[转]IntelliJ IDEA 快捷键
2011-05-03 22:17 947本文内容,转自:h ... -
HelloWorld 之Junit 单元测试
2011-04-23 21:47 1700想重构,就要有单元测试。没有单元测试,还真不敢随便重构 ... -
Oracle客户端 绿色 安装
2011-04-22 10:38 3839很久没用Oracle了,快一年了吧!没动不代表真的就全忘了, ... -
Archlinux + Xfce4 USB 自动挂载 问题解决
2011-04-09 23:50 7674现在用U盘少了,偶尔挂载个东西,就手动mount一下来 ... -
从HTTP服务器上下载文件
2011-03-30 18:48 1749从Http服务器上下载个文件到本地。写了一点点代码,认为是能 ... -
Eclipse link resource Link文件 文件夹
2011-03-15 15:04 10427Eclipse 的link功能,做的挺好,挺实用。一直在用, ... -
网页倒计时
2010-06-03 11:33 1344刚才看setTimeout,就顺便做了个网页上的倒计时,弄来玩 ... -
SNMP 电子书 下载
2010-05-13 16:34 6130最近在看SNMP方面的资料,发现这方面的资料好少好少,网 ... -
软件测试十大公理
2010-04-20 10:39 1444今天在群里面聊天,一个网友贴出来的软件测试十 ... -
ECMA-262-3 中文 版 下载
2010-04-11 09:55 5662这里下载的是ECMA-262标准 的第三版 的中文 ... -
内心独白
2010-04-05 20:39 1184左手代码右手诗, 人情冷暖两不知。 天下酱油随手打 ... -
Eclipse 包视图折叠
2010-04-04 21:50 7883在Eclipse中,如果包多了,包名前面又完全一样, ... -
eclipse 修改工程类型
2010-03-25 15:56 10620一直用eclipse来做JAVA,功能知道不少了 ...
相关推荐
JGoodies FormLayout:一个布局管理器。 被IntelliJ IDEA集成。 网站被踢出墙去了(莫名其妙)
java swing 布局所需组件formlayout所需jar包 jgoodies-common-1.6.0 jgoodies-forms-1.7.2 本人在烽火期间,使用的就是FormLayout布局,简单易用、功能强大,适用于swing企业和感兴趣的Java可视化兴趣爱好者。如果...
JGoodies Look and Feel 2.2.1 一个不错的Swing 外观组件. 里面有demo
JFormDesigner完全支持JGoodies FormLayout , TableLayout , GridBagLayout ,和其他标准配置管理人员。先进的GridBagLayout支持允许规格的横向和纵向的差距(如TableLayout ) ,这使得设计的一种形式一致差距...
JFormDesigner完全支持JGoodies FormLayout , TableLayout , GridBagLayout , 和其他标准配置管理人员。先进的GridBagLayout支持允许规格的横向和纵向的差距(如TableLayout ) , 这使得设计的一种形式一致差距...
介绍 JGoodies FORM FRAMWORK 的不错的资料
上次没有传完,这次将所有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
FormLayoutMaker 是一个所见即所得的工具,使您能够使用 JGoodies FormLayout 布局管理器轻松构建 Java Swing 布局。 非常适合那些讨厌 IDE 表单构建器但需要快速强大布局的人。 ...
jgoodies最新免费版,由于官网不再提供免费版,上述资源是可以下载到的最新免费版,如有需要欢迎下载。
jgoodies-validation jgoodies-looks jgoodies-forms 上传真难,
jgoodies的.jar包,jgoodies网站好像国内ip上不去,这里分享一下:)
jgoodies-binding jgoodies-common jgoodies-forms jgoodies-looks jgoodies-validation
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Validation
可以工作在中文环境下的jgoodies look and feel。jgoodies官方提供的包在中文环境下是没法运行的,都是乱码。我修改了源码,可以在中文环境下正常显示中文。
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Binding
官方jgoodies-forms-1.8.0.jar包,可直接导入到项目中使用
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Common
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Looks
jgoodies swing Java 皮肤
JGoodies ::Java User Interface Design-->Libraries--> JGoodies Forms