java Swing 心得体会
2015-11-13 10:49
197 查看
Java Swing 心得
本周做了一个java的C/S模式的程序,让我学习到了C/S的开发,虽然只是一个很小的程序,但是下次再做的话就不会生疏,这次做的还有很多不足的地方,随着以后的深入了解,我相信会做的更好。下面我们来谈谈java Swing。Swing是一种java语言开发窗口程序的工具包,是以抽象的工具类AWT(Abstract WindowsToolkit)为基础发展而来,由于AWT的一些重要功能还有所欠缺,于是就出现了Swing,但并不是抛弃了AWT,一些重要的工具仍然保存,但是Swing在选择上还是成为了开发的首选。
Swing中是由组件构成的,他的组件可以分为两种类型,一种是JComponent类和Window类,Window类可以独立显示,不依靠任何组件,比如JFrame,JComponent类是不能独立显示,而要依靠组件来显示,比如JButton就要依靠JFrame来显示,Swing包中的组件又可以分为三种类型,顶层组件,中间组件和基础组件,顶层组件有:JFrame,JApplet,JDialog,JWindow;中间组件大多就是承担一个容器的作用,比如JPanel,JScrollpane,JSplitpane,JToolBar;基础组件就是JButton,JComboBox,JList,JMean,JSlider,JTextField,这些组件必须要依靠中间组件来显示,由此可见,基础组件必须要依靠中间组件,而中间组件必须要依靠顶层容器来显示,在建一个窗口程序的时候必须实例化组件,不然会报异常,组件没有实例化,实例化之后顶层组件.add(中间组件),中间组件.add(基本组件),想要什么效果直接实例化组件,然后添加到容器里,一个窗口想要美观,就需要布局,常用的布局有GridBagConstraints来控制你的组件摆放的位置,一般来会创建一个add方法,gridx,
gridy, gridwidth,gridheight, weightx, weighty, anchor, fill, insert, ipadx, ipady,都是其中的参数gridx:横坐标;gridy:纵坐标;gridwidth:橫占一个单元格;gridheight:列占一个单元格;weightx:当窗口放大时,长度不变;weighty:当窗口放大时,高度不变,anchor= GridBagConstraints.NORTH; 当组件没有空间大时,使组件处在北fill=GridBagConstraints.
BOTH,当格子有剩余空间时,填充空间,insert= new Insets(0, 0, 0, 0); 组件彼此的间距,ipadx = 0; 组件内部填充空间,即给组件的最小宽度添加多大的空间ipady = 0; 组件内部填充空间,即给组件的最小高度添加多大的空间通过这个组件就可以布置你想要的布局,如果你想更加美观,就可以使用
JInternalFrame
来美化窗口,当然Swing中还有JList,JTable都可以显示数据可以从数据库操作数据展示出来,其中JList是以数组的形式存储数据,使用list.SetListData
(数组)来展示数据,也可以在list窗口添加滚动条,以免数据太多而展示不完全,每个控件都有自己的方法,都是实例化一个什么样的组件,带标题,带icon的图标,后有自己的取值,赋值方法都有启用或者禁用组件或者当前组件可不可见的方法,会让你的程序变得几行代码就可以实现一个操作,特别是按钮或者菜单的功能的实现,使用监听会直接调用方法,不必再去写onclike事件来响应操作。
Swing里面还有许多强大的控件,上面只是我在做程序用到的一些控件,随着以后做java的C/S的程序会认识到越来越多的东西,学无止境。
相关文章推荐
- Spring(AbstractRoutingDataSource)实现动态数据源切换(转载)
- spring Scheduled cron定时调度时间的设置
- Java中volatile的作用以及用法
- Struts2系统学习(7)Action中取得请求参数的方法总结
- Java获取本机IP
- 6、SpringMVC源码分析(1):分析DispatcherServlet.doDispatch方法,了解总体流程
- 程序在eclipse运行正常,但是打包上传到服务器上却报“java.lang.reflection.invocationTargetException”
- Java获取一年里某季、某月、某周的第一天及最后一天时间
- Java Timer类小结
- Java内部类详解
- 如何编译maven工程得到jar、sources、javadoc并上传至Sonatype Nexus OSS
- java中byte和blob互转
- Struts2系统学习(6)action中方法调用的三种方式总结
- JavaEE-Hibernate
- JavaEE-Spring
- selenium(webdriver)-safari:failed: java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.cre
- 用java开发跨平台简易服务器站点监控程序
- eclipse配置汇总
- JavaEE-控制器Struts2
- Java中getResourceAsStream的用法