javaGUI窗口初学者案例深入分析.docx

上传人:b****4 文档编号:4259428 上传时间:2023-05-06 格式:DOCX 页数:23 大小:19.05KB
下载 相关 举报
javaGUI窗口初学者案例深入分析.docx_第1页
第1页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第2页
第2页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第3页
第3页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第4页
第4页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第5页
第5页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第6页
第6页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第7页
第7页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第8页
第8页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第9页
第9页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第10页
第10页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第11页
第11页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第12页
第12页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第13页
第13页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第14页
第14页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第15页
第15页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第16页
第16页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第17页
第17页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第18页
第18页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第19页
第19页 / 共23页
javaGUI窗口初学者案例深入分析.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

javaGUI窗口初学者案例深入分析.docx

《javaGUI窗口初学者案例深入分析.docx》由会员分享,可在线阅读,更多相关《javaGUI窗口初学者案例深入分析.docx(23页珍藏版)》请在冰点文库上搜索。

javaGUI窗口初学者案例深入分析.docx

javaGUI窗口初学者案例深入分析

1创建窗体对象

FrameDemo.java

packagecn.itcast_01;

importjava.awt.Frame;

publicclassFrameDemo{

publicstaticvoidmain(String[]args){

//创建窗体对象

//Framef=newFrame();

//Frame(Stringtitle)

Framef=newFrame("林青霞");

//设置窗体标题

f.setTitle("HelloWorld");

//设置窗体大小

f.setSize(400,300);//单位:

像素

//设置窗体位置

f.setLocation(400,200);

//调用一个方法,设置让窗体可见

//f.show();

f.setVisible(true);

//System.out.println("helloworld");

}

}

FrameDemo2.java

packagecn.itcast_01;

importjava.awt.Dimension;

importjava.awt.Frame;

importjava.awt.Point;

publicclassFrameDemo2{

publicstaticvoidmain(String[]args){

//创建对象

Framef=newFrame("方法调用的前后关系");

//f.setVisible(true);

//try{

//Thread.sleep(3000);

//}catch(InterruptedExceptione){

//e.printStackTrace();

//}

////f.setSize(400,300);

////Dimension(intwidth,intheight)

//Dimensiond=newDimension(400,300);

//f.setSize(d);

////f.setLocation(400,200);

////Point(intx,inty)

//Pointp=newPoint(400,200);

//f.setLocation(p);

//一个方法搞定

f.setBounds(400,200,400,300);

f.setVisible(true);

}

}

2事件监听机制

事件监听机制:

A:

事件源事件发生的地方

B:

事件就是要发生的事情

C:

事件处理就是针对发生的事情做出的处理方案

D:

事件监听就是把事件源和事件关联起来

举例:

人受伤事件。

事件源:

人(具体的对象)

Personp1=newPerson("张三");

Personp2=newPerson("李四");

事件:

受伤

interface受伤接口{

一拳();

一脚();

一板砖();

}

事件处理:

受伤处理类implements受伤接口{

一拳(){System.out.println("鼻子流血了,送到卫生间洗洗");}

一脚(){System.out.println("晕倒了,送到通风处");}

一板砖(){System.out.println("头破血流,送到太平间");}

}

事件监听:

p1.注册监听(受伤接口)

FrameDemo.java

packagecn.itcast_02;

importjava.awt.Frame;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.awt.event.WindowListener;

publicclassFrameDemo{

publicstaticvoidmain(String[]args){

//创建窗体对象

Framef=newFrame("窗体关闭案例");

//设置窗体属性

f.setBounds(400,200,400,300);

//让窗体关闭

//事件源

//事件:

对窗体的处理

//事件处理:

关闭窗口(System.exit(0));

//事件监听

//f.addWindowListener(newWindowListener(){

//@Override

//publicvoidwindowOpened(WindowEvente){

//}

//

//@Override

//publicvoidwindowIconified(WindowEvente){

//}

//

//@Override

//publicvoidwindowDeiconified(WindowEvente){

//}

//

//@Override

//publicvoidwindowDeactivated(WindowEvente){

//}

//

//@Override

//publicvoidwindowClosing(WindowEvente){

//System.exit(0);

//}

//

//@Override

//publicvoidwindowClosed(WindowEvente){

//}

//

//@Override

//publicvoidwindowActivated(WindowEvente){

//}

//});

//用适配器类改进

f.addWindowListener(newWindowAdapter(){

@Override

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

//设置窗体可见

f.setVisible(true);

}

}

3针对用户的四种操作功能

UserAdaper.java

packagecn.itcast_03;

publicabstractclassUserAdapterimplementsUserDao{

@Override

publicvoidadd(){

}

@Override

publicvoiddelete(){

}

@Override

publicvoidupdate(){

}

@Override

publicvoidfind(){

}

}

UserDao.java

packagecn.itcast_03;

/*

*针对用户操作的四种功能

*/

publicinterfaceUserDao{

publicabstractvoidadd();

publicabstractvoiddelete();

publicabstractvoidupdate();

publicabstractvoidfind();

}

UserDaoDemo.java

packagecn.itcast_03;

/*

*问题:

*接口(方法比较多)--实现类(仅仅使用一个,也得把其他的实现给提供了,哪怕是空实现)

*太麻烦了。

*解决方案:

*接口(方法比较多)--适配器类(实现接口,仅仅空实现)--实现类(用哪个重写哪个)

*/

publicclassUserDaoDemo{

publicstaticvoidmain(String[]args){

UserDaoud=newUserDaoImpl();

ud.add();

//我没有说我们需要四种功能都实现啊。

UserDaoud2=newUserDaoImpl2();

ud2.add();

}

}

UserDaoImpl.java

packagecn.itcast_03;

publicclassUserDaoImplimplementsUserDao{

@Override

publicvoidadd(){

System.out.println("添加功能");

}

@Override

publicvoiddelete(){

System.out.println("删除功能");

}

@Override

publicvoidupdate(){

System.out.println("修改功能");

}

@Override

publicvoidfind(){

System.out.println("查找功能");

}

}

UserDaoImpl2.java

packagecn.itcast_03;

publicclassUserDaoImpl2extendsUserAdapter{

@Override

publicvoidadd(){

System.out.println("添加功能");

}

}

4把按钮添加到窗体

packagecn.itcast_04;

importjava.awt.Button;

importjava.awt.FlowLayout;

importjava.awt.Frame;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

/*

*需求:

把按钮添加到窗体,并对按钮添加一个点击事件。

*A:

创建窗体对象

*B:

创建按钮对象

*C:

把按钮添加到窗体

*D:

窗体显示

*/

publicclassFrameDemo{

publicstaticvoidmain(String[]args){

//创建窗体对象

Framef=newFrame("添加按钮");

//设置属性

f.setBounds(400,200,400,300);

//设置布局为流式布局

f.setLayout(newFlowLayout());

//创建按钮对象

Buttonbu=newButton("点我啊");

//bu.setSize(20,10);

//把按钮添加到窗体

f.add(bu);

//设置窗体可以关闭

f.addWindowListener(newWindowAdapter(){

@Override

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

bu.addActionListener(newActionListener(){

@Override

publicvoidactionPerformed(ActionEvente){

System.out.println("你再点试试");

}

});

//窗体显示

f.setVisible(true);

}

}

5组件添加窗体

packagecn.itcast_05;

importjava.awt.Button;

importjava.awt.FlowLayout;

importjava.awt.Frame;

importjava.awt.TextArea;

importjava.awt.TextField;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

publicclassFrameDemo{

publicstaticvoidmain(String[]args){

//创建窗体对象

Framef=newFrame("数据转移");

//设置窗体属性和布局

f.setBounds(400,200,400,300);

f.setLayout(newFlowLayout());

//创建文本框

finalTextFieldtf=newTextField(20);

//创建按钮

Buttonbu=newButton("数据转移");

//创建文本域

finalTextAreata=newTextArea(10,40);

//把组件添加到窗体

f.add(tf);

f.add(bu);

f.add(ta);

//设置窗体关闭

f.addWindowListener(newWindowAdapter(){

@Override

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

//对按钮添加事件

bu.addActionListener(newActionListener(){

@Override

publicvoidactionPerformed(ActionEvente){

//获取文本框的值

Stringtf_str=tf.getText().trim();

//清空数据

tf.setText("");

//设置给文本域

//ta.setText(tf_str);

//追加和换行

ta.append(tf_str+"\r\n");

//获取光标

tf.requestFocus();

}

});

//设置窗体显示

f.setVisible(true);

}

}

6窗体属性和布局

packagecn.itcast_06;

importjava.awt.Button;

importjava.awt.Color;

importjava.awt.FlowLayout;

importjava.awt.Frame;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

publicclassFrameDemo{

publicstaticvoidmain(String[]args){

//创建窗体对象

finalFramef=newFrame("更改背景色");

//设置窗体属性和布局

f.setBounds(400,200,400,300);

f.setLayout(newFlowLayout());

//创建四个按钮

ButtonredButton=newButton("红色");

ButtongreenButton=newButton("绿色");

ButtonbuleButton=newButton("蓝色");

//添加按钮

f.add(redButton);

f.add(greenButton);

f.add(buleButton);

//设置窗体关闭

f.addWindowListener(newWindowAdapter(){

@Override

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

//对按钮添加动作事件

//redButton.addActionListener(newActionListener(){

//@Override

//publicvoidactionPerformed(ActionEvente){

//f.setBackground(Color.RED);

//}

//});

//对按钮添加鼠标点击事件

//redButton.addMouseListener(newMouseAdapter(){

//@Override

//publicvoidmouseClicked(MouseEvente){

//f.setBackground(Color.RED);

//}

//});

//对按钮添加鼠标的进入事件

redButton.addMouseListener(newMouseAdapter(){

@Override

publicvoidmouseEntered(MouseEvente){

f.setBackground(Color.RED);

}

});

redButton.addMouseListener(newMouseAdapter(){

@Override

publicvoidmouseExited(MouseEvente){

f.setBackground(Color.WHITE);

}

});

greenButton.addMouseListener(newMouseAdapter(){

@Override

publicvoidmouseEntered(MouseEvente){

f.setBackground(Color.GREEN);

}

});

greenButton.addMouseListener(newMouseAdapter(){

@Override

publicvoidmouseExited(MouseEvente){

f.setBackground(Color.WHITE);

}

});

buleButton.addMouseListener(newMouseAdapter(){

@Override

publicvoidmouseEntered(MouseEvente){

f.setBackground(Color.BLUE);

}

});

buleButton.addMouseListener(newMouseAdapter(){

@Override

publicvoidmouseExited(MouseEvente){

f.setBackground(Color.WHITE);

}

});

//设置窗体显示

f.setVisible(true);

}

}

7创建窗体并设置属性

packagecn.itcast_07;

importjava.awt.FlowLayout;

importjava.awt.Frame;

importjava.awt.Label;

importjava.awt.TextField;

importjava.awt.event.KeyAdapter;

importjava.awt.event.KeyEvent;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

/*

*你输入的如果是非数字字符,就取消你键盘录入的效果。

*/

publicclassFrameDemo{

publicstaticvoidmain(String[]args){

//创建窗体对象并设置属性

Framef=newFrame("不能输入非数字字符");

f.setBounds(400,200,400,300);

f.setLayout(newFlowLayout());

//创建Label标签对象

Labellabel=newLabel("请输入你的QQ号码,不能是非数字,不信你试试");

TextFieldtf=newTextField(40);

//添加到窗体上

f.add(label);

f.add(tf);

//设置窗体关闭

f.addWindowListener(newWindowAdapter(){

@Override

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

//给文本框添加事件

tf.addKeyListener(newKeyAdapter(){

@Override

publicvoidkeyPressed(KeyEvente){

//如果你取得的字符不是数字字符就取消事件

//思路:

先获取字符,判断字符,取消事件

//chargetKeyChar()

charch=e.getKeyChar();

//System.out.println(ch);

if(!

(ch>='0'&&ch

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2