不需要编写太多的java代码。
当然是有的—WindowBuilder,Eclipse安装这个插件后,可以直接拖拽swing控件设计GUI界面,使用起来非常方便,下面我简单介绍一下这个工具的安装和使用:
1.首先,复制WindowBuilder仓库源地址,这个直接打开官网,复制link链接地址就行,如下,选择适合自己Eclipse的版本,然后右键“link”,复制链接地址:
2.接着,我们打开Eclipse,依次点击工具栏的“Help”->“Install New Software...”,点击add按钮,添加仓库源,输入上面刚才复制的链接地址,点击确定,就会自动搜索WindowBuilder,如下:
搜索完成后,就会列出所有可用的WindowBuilder选项,这里我们直接勾选,点击安装就行,如下,我的已经安装完毕,安装过程需要稍微等待一会儿:
3.安装完成后,需要重启一下Eclipse,WindowBuilder才能生效,接着我们依次点击“File”->“New”->“Project”,就可以看到WindowBuilder选项,新建“SWT/JFace Java Project”项目,如下:
创建完成后,右键项目下的src,依次选择“New”->“Other...”,选择主窗口类型,这里我新建的是JFrame,你也可以选择其他类型的窗口,都可以,如下:
接着需要给创建的主窗口起一个名字,也就是类名称,如下:
接着双击打开这个类,选择左下角的“Design”,切换设计窗口,就可以看到所有的控件,可以直接拖拽,设计GUI界面,很方便吧,如下:
设计完成后,直接点击运行,就会出现刚才设计的GUI界面,如下:
至此,我们就完成了在Eclipse中拖拽控件设计GUI界面。总的来说,整个过程很简单,借助WindowBuilder,我们可以快速设计GUI界面,而且不需要编写太多的Java代码,只要你熟悉一下相关步骤,很快就能安装成功的。
为什么我学的JAVA,c语言只有黑框,要怎么样才能做出一个软件的样子呢?
c语言图形库
- gtk
这是一个免费开源跨平台的c语言图形库,相信大多数程序员都听说或使用过这个库,著名的gnome桌面就是采用gtk开发而来,功能强大、设计灵活,组件类型支持众多、属性丰富,只需简单封装调用即可快速构建一个GUI桌面程序,运行速度快、占用内存少,如果你有一定c语言基础,熟悉一下相关示例和代码,很快就能入门,缺点就是编写的代码会比较多:
- libui
这是一个轻便灵活、简单易用的c语言图形库,相信接触过的开发人员应该不多,libui也完全免费开源,支持windows、linux、mac等主流操作系统,封装了许多标准组件和属性,只需简单调用和组装即可快速构建一个GUI桌面程序,界面美观、设计灵活,官方自带有非常多的示例和代码,如果你熟悉c语言,那么非常容易入门:
java图形库
- awt
这是sun公司针对Java GUI编程提供的最早的也是最初的开发工具包,专门用来建立和设置java图形界面,swt利用系统所提供的图形库创建用户界面,因此占用内存更少、运行速度更快,成熟稳定、响应良好,但也存在一定缺点,例如标准组件支持不多、缺乏丰富的属性特征、可移植性差等,如果你只是开发一个小型自用软件,可以使用一下awt,非常容易入门:
- swing
这是一个比较常用也比较流行的java高级图形库,基于awt封装而来,相对于awt来说,支持的标准组件类型更多,属性特征更为丰富,开发人员只需要使用很少的代码即可利用swing丰富灵活的功能和模块化组件创建漂亮的图形界面,跨平台性、可扩展性、可移植性更好,但由于封装了更多的代码,因此占用内存较多,运行速度会有明显下降:
当然,除了以上几个比较常用的java、c语言图形库,其实还有许多其他图形库,swt、easyx等也都非常不错,如果你本身熟悉delphi、c#、qt等编程语言或工具,可能编写GUI程序更快、也更便捷。
能用C语言做出一个图形化界面是什么水平?
能用c语言做出一个图形化界面,说明你对c语言的graph库已经大致掌握了。
如果能做到图形的描画,文本编辑,文本滚动,字体放大及定时显示,自绘进度条,自绘按钮,显示内存区的无闪烁刷新,区域填充,透明处理等等功能,说明界面部分做的基本过关。
要论水平,只能说刚入门。单就一般c来说,各种文件的存储,打开,删除,重命名操作;内存动态申请及释放的内存管理;调用外部可执行文件;I/O操作;与外部的串行/并行通讯,网络通讯及共享,高端内存使用等等,还要学习的很多。
在语法上,结构struct,联合union的使用,也很重要,内存块操作,字符串操作,各种数据类型,浮点运算,以及相关的math.h,stdlib.h等头文件定义的函数,建议挨个试一遍。
做完了以上这些,你就可以正式入职了。
当然,这只是C。VC++的话,还要花C两倍的功夫。