Java学习笔记:GUI基础。

Java学习笔记:GUI基础。

本文链接:https://blog.csdn.net/yangbodong22011/article/details/50347675

一:我们使用到的java GUI的API可以分为3种类:

  • 组件类(component class)
  • 容器类(container class)
  • 辅助类(helper class)

1:组件类:组件类是用户用来创建界面的,Component类的实例可以显示在屏幕上,Component类是包含容器类的所有用户界面的根类,JComponent是轻量级组件类的根类。
2:容器类:

容器类说明
java.awt.Container对于组件分组,Frame(框架),Panel(面板)都是它的子类
javax.swing.JFrame一个不能包含在另一个窗口的窗口,用于存放其他的组件
java.swing.JPanel可做画图的画布
java.swing.JAppletApplet的一个子类
java.swing.JDialog一个弹出式窗口或者消息框

3:辅助类:

辅助类说明
java.awt.Graphics绘制字符串,线,和简单图形
java.awt.Color处理颜色,为JFrame指定背景色
java.awt.Font指定文字的字体,风格
java.awt.FontMetrics获取字体属性
java.awt.LayoutManger布局管理器

二:框架,创建一个用户界面需要创建一个框架来呈放用户界面的组件。一般我们用JFrame,有了框架之后我们就可以向框架中加入组件等东西。
三:布局管理器
就是管理我们怎样在一个框架上布局东西的,实际上我们先将东西按照一定规则放置在布局管理器上,然后布局管理器再将东西放到框架之上,然后就呈现出来了我们想要的格式。
1:FlowLayout:默认按照从左往右的顺序排列组件,如果一行放不下,放到下一行。有三种对齐方式可供选择。

UML作用
-aligment:int对齐方式 LEFT=0,CENTER=1,RIGHT=2,LEADING=3
-hgap:int布局管理器的水平间隔
-vgap:int布局管理器的垂直间隔
+FlowLayout()默认的构造方法
+FlowLayout(aligment:int)设置默认对齐方式
+FlowLayout(aligment:int,hgap:int,vgap:int)设置对齐方式,水平间隔和垂直间隔

2:GridLayout:网格布局管理器,可以指定每行每列放几个元素,但是行的优先级比列高。

UML作用
-rows:int布局管理器中的行数比列优先
-columns:int布局管理器的列数
-hgap:int布局管理器的水平间隔
-vgap:int布局管理器的垂直间隔
+GridLayout()默认的构造方法
+GridLayout(rows:int,columns:int)设置指定行数的列数的GridLayout
+GridLayout(rows:int,columns:int,hgap:int,vgap:int)设置行数,列数,水平间隔和垂直间隔

3:BorderLayout:将容器分为5个部分:东,南,西,北,中,可以用BorderLayout.EAST ,BorderLayout.SOUTH,BorderLayout.WEST,BorderLayout.NORTH,BorderLayout.CENTER分别设置组件的位置。

UML作用
-hagp:int水平间隔
-vgap:int垂直间隔
+BorderLayout()创建一个默认的BorderLayout
+BorderLayout(hgap:int,vgap:int)创建指定水平间隔和垂直间隔的管理器

4:cardLayout:顾名思义,就像一张张卡片一样去管理我们的每一个Panel,像一副扑克牌,只最上面的才会被看到。一般我们CardLayout card = new CardLayout然后再JPanel cardPanle = new JPanel(card)这样cardPanel就是一个CardLayout的类型的了。

UML作用
-hagp:int水平间隔
-vgap:int垂直间隔
+CardLayout()创建默认的布局管理器
+CardLayout(hagp:int,vgap:int)指定水平和垂直间隔
+card.first(cardPanel)显示cardPanel的第一张卡片
+card.last(cardPanel)显示cardPanel的最后一张卡片
+card.pervious(cardPanel)显示cardPanel的前一张卡片
+card.next(cardPanel)显示cardPanel的后一张卡片
+card.show(cardPanel,String name)显示cardpanel中名称为name的卡片

四:使用面板
我们很难使用一种布局管理器实现我们想要的效果,所以我们通常使用面板将我们能看到的区域划分,然后在每一个部分上添加上我们想使用的组件,然后再将面板添加到框架中,所以基本步骤就是这样创建面板->往面板上添加组件->将面板添加到框架中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值