Loonframwork到SWT的移植测试(JAVA GAME TEST SOURCE)

简介:
愚以为,用SWT作界面,是一种在用Java写VB的体验。

本周心情极度恶劣,一直不想说话,也不想写新代码,郁闷中尝试了一下将Loonframework的代码移植到SWT。(其实我觉得AWT,SWT,Swing用那个真的要根据需求决定,没有绝对的好与坏。)






(用SWT操作WINDOWS界面确实异常简单)

如 预料般,由于Loonframework以AWT白板为基础采取绘制开发,核心代码在SWT上近乎0修改。而借助于 org.eclipse.swt.awt.SWT_AWT,更是完全不用任何变更,因为SWT提供了SWT_AWT.new_Frame方法,而我在 Loonframework中是以.setup(Frame frame)[以及.setup(Applet applet)]方式等将图像描绘在指定窗体上的,所以能无差别使用。顺带一提,有SWT_AWT而无SWT_SWING,可见IBM对Swing的歧 视。(由于JFrame直接继承自Frame,当然也可以加载Swing的界面,但是那个效率啊……)

其实某些人因支持Swing而反 SWT的,或因SWT而反对Swing的做法,感觉真的没什么意义。愚以为Java体系,一脉相承,没有可能你基础很牢固,而对新的Java技术却牛不入 耳,一窍不通。我并不认为会象某些人想象的那样,研究两天没多少人理的Java GUI开发,我做J2EE方面就弱了。事实上,我本是J2EE程序员,业余研究一下游戏开发罢了^^。比如现在,我以爹不痛娘不爱的AWT为基础开发 Loonframework Game包,在转换底层时反而如鱼得水,完全不存在移植问题。(当然,日后向手机移植改的就比较多了。)而事实上,由于Swing以AWT为底层,而 IBM则以一直偏爱的AWT方式构建SWT,也决定了以AWT为基础开发的代码在Java GUI上通用性是最好的(我是说代码通用,而不是指UI通用……)。

顺便提一下,单从支持[&键名]这种定义快捷键的写法和支持 ico图标看,SWT就可说是Java中的怪胎,或者说它到底有多少算Java都要打个问号,我愚昧的认为把SWT技术彻底用在其他语言上可能表现得更 好,真的说起来,还是C#做GUI更容易些……我就一新人菜鸟,有什么认识不对的地方,还望中国亿万万高手(专家)或自诩高手(专家)的同志们谅解。



本文转自 cping 51CTO博客,原文链接:http://blog.51cto.com/cping1982/130225

相关文章
|
1月前
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
223 0
|
6月前
|
缓存 监控 负载均衡
如何提升 API 性能:来自 Java 和测试开发者的优化建议
本文探讨了如何优化API响应时间,提升用户体验。通过缓存(如Redis/Memcached)、减少数据负载(REST过滤字段或GraphQL精确请求)、负载均衡(Nginx/AWS等工具)、数据压缩(Gzip/Brotli)、限流节流、监控性能(Apipost/New Relic等工具)、升级基础设施、减少第三方依赖、优化数据库查询及采用异步处理等方式,可显著提高API速度。快速响应的API不仅让用户满意,还能增强应用整体性能。
|
2月前
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
118 0
|
2月前
|
人工智能 Java 测试技术
Java or Python?测试开发工程师如何选择合适的编程语言?
测试工程师如何选择编程语言?Java 还是 Python?多位资深专家分享建议:Python 入门简单、开发效率高,适合新手及自动化测试;Java 生态成熟,适合大型项目和平台开发。建议结合公司技术栈、个人基础及发展方向选择。长远来看,两者兼通更佳,同时关注 Go 等新兴语言。快速学习与实践才是关键。
|
3月前
|
测试技术 程序员 Go
Go语言测试简明指南:深度解读go test命令
总的来说,go test是 Go 语言中一个强而有力的工具,每个 Go 程序员都应该掌握并把它融入到日常的开发和调试过程中。就像是一个眼镜过滤出的太阳,让我们在宽阔的代码海洋中游泳,而不是淹没。用好它,让我们的代码更健壮,让我们的生产力更强效。
208 23
|
6月前
|
开发框架 Java Unix
课时3:Java可移植性
课时3介绍Java的可移植性,即Java程序能在不同操作系统(如Windows、Linux、Unix)上无缝运行。关键在于Java虚拟机(JVM),它使编译后的字节码可在任何有JVM的平台上执行。Java结合编译型和解释型语言特点,源代码先编译成字节码,再由JVM解释执行,确保跨平台兼容性。尽管早期存在性能问题,但硬件进步已大幅改善。现在重点是优化JVM以发挥操作系统最佳性能。
|
11月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
143 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
10月前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
1622 2
|
11月前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
189 5
|
11月前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
345 1