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

相关文章
|
10月前
|
测试技术 程序员 Go
Go语言测试简明指南:深度解读go test命令
总的来说,go test是 Go 语言中一个强而有力的工具,每个 Go 程序员都应该掌握并把它融入到日常的开发和调试过程中。就像是一个眼镜过滤出的太阳,让我们在宽阔的代码海洋中游泳,而不是淹没。用好它,让我们的代码更健壮,让我们的生产力更强效。
686 23
|
开发框架 Java Unix
课时3:Java可移植性
课时3介绍Java的可移植性,即Java程序能在不同操作系统(如Windows、Linux、Unix)上无缝运行。关键在于Java虚拟机(JVM),它使编译后的字节码可在任何有JVM的平台上执行。Java结合编译型和解释型语言特点,源代码先编译成字节码,再由JVM解释执行,确保跨平台兼容性。尽管早期存在性能问题,但硬件进步已大幅改善。现在重点是优化JVM以发挥操作系统最佳性能。
202 0
|
XML Java Maven
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
364 7
|
Java 编译器
成功解决:java file outside of source root
解决Java文件不在源代码根目录内的问题,可以通过在IDEA中将包含.java文件的目录设置为Sources Root来修复。
成功解决:java file outside of source root
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
311 1
|
XML Java 测试技术
Selenium WebDriver自动化测试(基础篇):不得不掌握的Java基础
关于Selenium WebDriver自动化测试的Java基础篇,涵盖了Java的变量、数据类型、字符串操作、运算符、流程控制、面向对象编程、关键字用法、权限修饰符、异常处理和IO流等基础知识点,为进行自动化测试提供了必要的Java语言基础。
396 1
|
Java 测试技术 程序员
测试气味Test Smells-整洁单元测试
摘要:本文讨论了代码中的“Code Smell”现象,即可能表明代码质量问题的模式。这些包括重复代码、过长函数、过大类、过长参数列表等。识别并重构Code Smell有助于提升代码质量和可维护性。在单元测试中,也有类似的“测试味道”问题,如无信息的测试名称、缺少arrange-act-assert结构、不恰当的变量名和重复使用以及杀虫剂效应。好的单元测试应有明确的命名、遵循arrange-act-assert模式、使用有意义的变量名,并避免重复测试同一情况,以提供有价值的错误信息。
310 2
|
XML 测试技术 数据格式
《手把手教你》系列基础篇(八十五)-java+ selenium自动化测试-框架设计基础-TestNG自定义日志-下篇(详解教程)
【7月更文挑战第3天】TestNG教程展示了如何自定义日志记录。首先创建一个名为`TestLog`的测试类,包含3个测试方法,其中一个故意失败以展示日志。使用`Assert.assertTrue`和`Reporter.log`来记录信息。接着创建`CustomReporter`类,继承`TestListenerAdapter`,覆盖`onTestFailure`, `onTestSkipped`, 和 `onTestSuccess`,在这些方法中自定义日志输出。
250 6
|
Java 测试技术 Apache
《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
【7月更文挑战第4天】Apache Log4j 是一个广泛使用的 Java 日志框架,它允许开发者控制日志信息的输出目的地、格式和级别。Log4j 包含三个主要组件:Loggers(记录器)负责生成日志信息,Appenders(输出源)确定日志输出的位置(如控制台、文件、数据库等),而 Layouts(布局)则控制日志信息的格式。通过配置 Log4j,可以灵活地定制日志记录行为。
297 4
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解

热门文章

最新文章