Frame窗体
Frame f=new Frame()
一.设置面积
f.setSize(m,n)
二.设置背景颜色
f.setBackground(Color.颜色)
三.显示窗体
f.show();(必须调用该函数才会显示窗体)
Panel画布
一.继承
新的画布类需要继承Panel类,格式为:class 新画布类类名 extends Panel{}
二.public voidPaint(Graphics g){}函数
当画布类实例化之后,该函数由系统自动调用。所要画的内容已经出现在画布上,只需将该画布类对象add()到某窗体上。画图时通过画笔对象g调用画图函数,通过g调用设置颜色setColor(Color.颜色)。注意:这种设置的颜色是指设置所画图形的颜色,而画布的背景颜色由窗体的setBackground(Color.颜色)决定。由于该函数是系统自动调用,因此程序员若想调用paint函数,需要调用repaint()函数。
布局
对于窗体来说,如果不设置布局,系统默认的布局是BorderLayout布局,通过窗体对象.add(参数)来添加控件,默认添加到BorderLayout的Center中。
一.BorderLayout边框布局
将屏幕分成上,下,左,右,中间五个部分,分别对应north,south,west,east,center。
1.设置布局:
窗体对象.setLayout(newBorderLayout())
2.添加格式:
窗体对象.add(控件名,BorderLayout.north)
每一部分的面积大小由控件名长短决定。
二.GridLayout表格布局
将屏幕分成n行,m列,添加顺序为从左到右,从上到下
1.设置布局:
窗体对象.setLayout(newGridLayout(n,m))
2.添加格式:
窗体对象.add()
三.FlowLayout布局
能够显示的情况下,尽可能小的显示组件,默认情况下,第一个放在最上一行中间,在有多个的情况下,从左到右,整体在中间,第一行放不下,放到第二行
1.设置布局:
窗体对象.setLayout(newFlowLayout())
2.添加格式:
窗体对象.add()
监听监听即为系统在监听用户是否有按鼠标,按键盘等交互事件,若有,则进行相应处理。
一.鼠标监听MouseListener
需要画布类进行继承?????
class 画布类名 extends Panel implements MouseListener{}
1.注册事件
分两步:窗体对象.addMouseListener(画布对象)
画布对象.addMouseListener(画布对象)
二.按钮监听ActionListener
class A类名 implements ActionListener{}
1.注册事件
分两步:new 一个A类a
按钮对象.addActionListener(a)
2.响应函数
Public void actionPerformed(ActionEventarg0)
{
(1) If(arg0.getSource()==按钮对象)//比较是否是同一个对象
{
按键处理
}
或者
(2) If(arg0.getActionCommand().equal(按钮对象))//比较是否是相同内容
{
按键处理
}
}
做按钮
一般使用按钮可以直接调用,如果自己做按钮需要使用画布类,在该类上画俩个按钮,一个是点击时的,一个是释放时的。是使用不同颜色的边线来区别的。
按钮分两类:
1.不按时,左边和上边都是白色,右边和下边是黑色,如下图所示。
2.按下时,左边和上边是黑色,右边和下边是白色。
在继承Panel的新的画布类中的paint(Graphics g)函数中,通过g.drawLine(int a,int b,intc,int d)来画横线,(a,b)为上或左点的坐标,(c,d)为下或右点的坐标。
为了实现显示按按钮的动态效果,需要使用监听函数。