写点什么

Groovy 需要 GUI 设计器吗?

  • 2007-03-30
  • 本文字数:678 字

    阅读完需:约 2 分钟

Geertjan 一直致力于为 Netbeans 6.0 整合对 Groovy 的支持。对于在 Groovy 中能很方便地编写 Swing 代码他很是赞赏,他怀疑 Groovy 是否需要类似于 Matisse 的 GUI 设计工具。Danno Ferrin 回应说,让 Geertjan 产生这个想法主要原因是 Layout(布局),特别是 GroupLayout

在文章一开始,Geertjan 就展示了一个很简单的 UI,并列出一些大多数人,不管编程水平高低都能写出来的简单伪码。随后,他又展示了如何方便地将那些伪码粘贴到 Groovy 环境中,再补充少许代码用于调用 SwingBuilder,就可以得到所希望的简单 UI。他阐述到:

既然在 Groovy 中这一切都非常容易,我不知道 Groovy 社区还要不要一个类似于 Matisse 的 GUI 设计工具。所有这些东西看起来都很直观,还有语法加亮和自动代码完成功能,再加上一两个有趣的东西(例如上面显示的导航栏),在 Groovy 中编写 Swing 程序就可以信手拈来了。

很快 Mike A 就回复说,这个例子过于简单,而且没有讨论到 actions、事件和数据绑定等问题。Danno Ferrin 指出,这个例子漏掉的最关键部分就是布局。

Geertjan 的例子太过简陋。UI 可以在界面上很漂亮地排布和分隔开的原因是由于面板的默认布局方式是 FlowLayout。实际上这仅对于简单的 GUI 演示界面和嵌套的按钮面板有用。假如你在设计一个地址表单,上面的标签都要左对齐,并且除了第四行的复选按钮外,所有的文本框都得以相同宽度填充(一般来说扩展到表单右边界),这么做就显得捉襟见肘了。

Danno 举的例子比这里提到的要复杂得多。最后他总结到,编写布局代码并不是一件容易的事情,使用诸如 Matisse 的可视化设计工具可以使得这项工作变得更加简单很多。

2007-03-30 00:001434
用户头像

发布了 117 篇内容, 共 20.2 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

MySQL架构设计

JavaEdge

2月月更

再解 JavaScript 原型 与原型链

编程三昧

JavaScript 前端 原型 原型链 2月月更

JDK9响应式流使用详解

蜜糖的代码注释

Java Java9 2月月更 响应式流

ReactNative进阶(五十):IOS 系统 Crash 日志分析实战

No Silver Bullet

ios React Native 2月月更

也谈一下Web3.0-01

wood

300天创作 Web3.0

【技术】谈ServiceMesh落地的三大难题:选型、过渡、多集群

极光一号。

云原生 servicemesh 服务网格 应用交付

Netflix是如何做决策的? | 3. A/B测试结果之假阳性和统计显著性

俞凡

数据分析 netflix 大厂实践 2月月更

ReactNative进阶(四十七):移动端调试利器 vConsole

No Silver Bullet

ReactNative 2月月更 vconsole

Firefox 登录后无法同步书签

TroyLiu

firefox 工具 浏览器 数据同步 书签

精度丢失问题

编程三昧

2月月更

以太坊剖析 - 区块(Block)

起航

区块链 以太坊

Netflix是如何做决策的? | 1. Netflix的决策制定

俞凡

数据分析 netflix 大厂实践 2月月更

如何写好代码注释?

蜜糖的代码注释

Java 后端 开发 2月月更

《卡片笔记写作法》读书笔记 - 重新认知思考和写作

懒时小窝

读书感悟 读书总结

以太坊剖析 - 交易执行(TransactionExecutor)

起航

区块链 以太坊

浅析 Python 中的 Collections 模块

宇宙之一粟

Python 2月月更

以太坊剖析 - 区块头部(BlockHeader)

起航

区块链 以太坊

Netflix是如何做决策的? | 2. 什么是A/B测试

俞凡

数据分析 netflix 大厂实践 2月月更

【拥有新时代的通信协议,引领云原生迈向更高的舞台】解密Dubbo3从微服务升华到云原生 | 社区征文

码界西柚

云原生 Cloud Native Dubbo3 新春征文 2月月更

WebRTC 如何在安卓系统上采集视频数据 | 社区征文

liuzhen007

音视频 新春征文 2月月更

(2-1/26) 滑雪的准备

mtfelix

300天创作

ReactNative进阶(四十五):渐变组件 react-native-linear-gradient

No Silver Bullet

React Native 2月月更

原型与原型链

编程三昧

JavaScript 前端 1月月更

ReactNative进阶(四十八):Mobile App 适配性优化实战

No Silver Bullet

适配 ReactNative 2月月更

JVM进阶(一):初识 JAVA 栈

No Silver Bullet

Java JVM 2月月更

怎样设计一个广告系统

俞凡

架构 大厂实践 2月月更

ReactNative进阶(五十一): 常见样式梳理

No Silver Bullet

CSS ReactNative 2月月更

使用 React、Solidity 和 Web3.js 构建真实世界的 dApp

devpoint

dapp React Solidity Web3.0 2月月更

以太坊剖析 - 交易收据(TransactionReceipt)

起航

区块链 以太坊

【以太坊剖析】以太坊虚拟机(EVM)之基本定义

起航

区块链 以太坊 EVM 以太坊虚拟机

共赴冰雪之约,见证体育场馆的数字化之旅

脑极体

Groovy需要GUI设计器吗?_Java_Rob Thornton_InfoQ精选文章