我是一个java的完全初学者。虽然我研究了很多关于语言的文献(不错),但这是我的第一个真正的项目。
我基本上计划做一个简单的时钟小部件,后来计划建造Gui。直到现在,我在swing中学会了。但是我在这个网站上发现Swing已经过时了(参考文献:Java框架。选择什么?Swing,SWT,AWT,SwingX,JGoodies,JavaFX,Apache?)。
我需要的是java中的一些好的库来帮助我完成这个过程(时钟小部件以及随后更复杂的gui)。所以我想从jgoodies那里得到图书馆,免费的。
现在,我完全搞不懂该做什么,什么也不懂。当然,我不需要设计、模式等方面的书籍,只需要java参考资料和一些关于gui的教程,使用java和jgoodie来帮助我入门。我哪儿都找不到他们。所以请给我指出正确的方向。
读取背景(首先是java,java是完整的参考文件和数据结构以及algo)
(建议别人,如果不够的话)
发布于 2013-08-18 04:25:16
我需要的是java中的一些好的库来帮助我完成这个过程(时钟小部件以及随后更复杂的gui)。所以我想从jgoodies那里得到图书馆,免费的。
也许你不像你想的那样需要图书馆。从基本原则中学习一些东西,你就会学得更好。
所有主要的Java框架都已经具有相当高的级别和功能。当你刚开始的时候,我认为你应该跳过第三方库,看看你在基础JRE和你选择的框架中提供了什么。仅用基本框架、java语言和JRE就足够学习了。如果您试图过早地添加其他框架,最终将导致重载、混乱和效率低下。此外,库的抽象程度的增加可能会使您无法很好地学习一些重要的基本原则。
一旦您在构建方面获得了更多的经验,那么您就可以更好地了解框架中的空白在哪些地方适合您的应用程序,并且可以在那个时候添加第三方库。
计划制作一个简单的时钟小部件
如果您被卡住了,下面是JavaFX时钟的代码:如何用JavaFX 2绘制时钟?或秋千中的类似实现。
请注意,创建时钟与使用预定义控件库创建传统的基于表单的GUI有很大不同,但任何主要的Java框架都可以处理这两个任务。
不要让时钟成为你的第一个GUI编程任务,做一些更简单的事情。然后试着在以后创建一个时钟。
使用swing进行精确的布局确实是一项困难的工作。
还有用于Swing和其他框架(例如优秀的SceneBuilder for JavaFX)的交互式图形布局管理器,这使得这更容易。
但是,在第一次开始时,可能需要手工编写代码,而不是让工具为您管理布局(例如,在学习JavaFX时,只使用Java,在完全熟悉Java之前不要使用FXML )。这样你就能更好地了解布局管理和其他事情的来龙去脉。当然,你会犯一些错误,也会有一些挫折,但随着时间的推移,事情会变得清晰起来。最终,你可能会决定自己更喜欢手工编码,而不是使用图形工具。
棘手的部分通常是创建高质量、动态调整的GUI,这些GUI看起来很适合不同的分辨率和窗口大小--而且对于初学者来说,无论使用什么GUI工具包,这通常都是很棘手的。
JavaFX中的布局管理器与Swing中的基本布局管理器非常相似,因此在布局方面,这两个框架之间没有什么区别。
JavaFX中保留的模式场景图可能比Swing的直接模式绘制要容易一些,但我想这与布局并不完全相关。
内省工具,如ScenicView for JavaFX,可以简化运行时的调试布局。将像ScenicView这样的东西想象成类似于HTML中的Firebug的东西(例如,您必不可少的布局调试伙伴)。
现在,我完全搞不懂该做什么,什么也不懂。
你明白的比你想的要多,否则你就不会知道怎么问这个问题了。
您应该做的(IMO)只是选择一个Java框架(任何框架--它们都是可以通过的),选择一个体面的开始任务(这看起来很简单,甚至比时钟还简单)并开始编写代码。使每件事都与任务相关;非常小的任务有明确的目标。写出大量的代码,并且总是回去修改你的代码,并且它的输出试图使它尽可能的最好--不要满足于足够好的效果。
试着画彩虹和快乐的脸-当你在屏幕上编码并看到它时,你会对自己感觉很好:)
如果您需要对Java语言进行复习,请遵循Oracle 学习Java语言线索。这是很多年前我学习Java的方式。多年来一直保持着它,使它今天仍然是一种巨大的资源和有用的资源。
如果选择Swing,请按照MadProgrammer中的起始链接进行操作。
如果选择JavaFX,请遵循JavaFX教程和集成样本应用程序,但请注意,一些JavaFX教程是针对更有经验的程序员的。
发布于 2013-08-18 02:49:00
AWT已经有效地被Swing所取代。
SWT是一个不同的框架,它提供了更好的与操作系统的本机交互。
JavaFX是块上的新玩家,虽然有些人认为它是Swing的替代品,但它的主要意图是显示Flash或作为它的替代物。
SwingX和JGoodies是基于Swing的库。
Swing和SWT已经开始了很长一段时间,有些人可能会认为它们是“旧的”,但这意味着框架周围有大量的知识,以及一些用来支持和扩展它们的库。
JavaFX是市场上的新玩家,还没有建立同样的知识和支持基础。
如果我是你。我会注意Swing (个人),因为它将为您提供经验丰富的开发人员的最佳基础和支持,以帮助您的方式。
一旦您变得更舒服,您就可以探索SWT、JavaFX和其他工具包和框架。
我会从用Swing创建GUI,表演定制绘画和二维图形学开始。
我(个人)的感觉是建立对基础库的理解,试着学习它的优点和弱点。这将帮助您理解何时使用诸如SwingX和JGoodies - IMHO之类的库。
https://stackoverflow.com/questions/18295142
复制相似问题