Java实验十一题目解析及实例代码.docx

上传人:b****4 文档编号:6916993 上传时间:2023-05-10 格式:DOCX 页数:10 大小:17KB
下载 相关 举报
Java实验十一题目解析及实例代码.docx_第1页
第1页 / 共10页
Java实验十一题目解析及实例代码.docx_第2页
第2页 / 共10页
Java实验十一题目解析及实例代码.docx_第3页
第3页 / 共10页
Java实验十一题目解析及实例代码.docx_第4页
第4页 / 共10页
Java实验十一题目解析及实例代码.docx_第5页
第5页 / 共10页
Java实验十一题目解析及实例代码.docx_第6页
第6页 / 共10页
Java实验十一题目解析及实例代码.docx_第7页
第7页 / 共10页
Java实验十一题目解析及实例代码.docx_第8页
第8页 / 共10页
Java实验十一题目解析及实例代码.docx_第9页
第9页 / 共10页
Java实验十一题目解析及实例代码.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java实验十一题目解析及实例代码.docx

《Java实验十一题目解析及实例代码.docx》由会员分享,可在线阅读,更多相关《Java实验十一题目解析及实例代码.docx(10页珍藏版)》请在冰点文库上搜索。

Java实验十一题目解析及实例代码.docx

Java实验十一题目解析及实例代码

窗口程序:

实现程序并补全功能:

实现圆变小及圆向上、下、右移动功能。

importjava.awt.BorderLayout;

importjava.awt.Graphics;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.KeyEvent;

importjava.awt.event.KeyListener;

importjava.awt.event.MouseEvent;

importjava.awt.event.MouseListener;

importjavafx.scene.input.KeyCode;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

 

publicclasst1extendsJFrameimplementsActionListener,KeyListener,MouseListener{

privateJButtonbtAdd;//定义按钮

privatemyCirclemc;//定义myCircle引用

privateJPanelp1=newJPanel();//定义JPanel

publict1()

{

setLayout(newBorderLayout());//设置布局

mc=newmyCircle();//生成实体

btAdd=newJButton("增大");//生成实体

p1.add(btAdd);//添加到JPanel

add(mc,BorderLayout.CENTER);//添加到窗口

add(p1,BorderLayout.SOUTH);//添加到窗口

mc.setFocusable(true);//设置获得焦点

btAdd.addActionListener(this);//添加监听(按钮单击事件

mc.addKeyListener(this);//添加监听(键盘事件

mc.addMouseListener(this);//添加监听(鼠标事件

setSize(400,400);//设置窗口大小

setLocationRelativeTo(null);//设置窗口居中放置

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置退出方式

setVisible(true);//设置可见性

}

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

newt1();

}

publicvoidkeyPressed(KeyEvente){

//键盘按下事件

switch(e.getKeyCode()){

caseKeyEvent.VK_LEFT:

mc.leftMove();

break;

}

}

publicvoidkeyReleased(KeyEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidkeyTyped(KeyEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidactionPerformed(ActionEvente){

//按钮单击事件

if(e.getSource()==btAdd)

{

mc.addR();

mc.requestFocus();

}

}

publicvoidmouseClicked(MouseEvente){

//鼠标单击事件

mc.setxy(e.getX(),e.getY());

}

publicvoidmouseEntered(MouseEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidmouseExited(MouseEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidmousePressed(MouseEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidmouseReleased(MouseEventarg0){

//TODOAuto-generatedmethodstub

}

}

classmyCircleextendsJPanel//生成JPanel的子类(画圆及控件圆(变大、变小、上、下、左、右移动)

{

privateintradius=5;//圆半径

privateintx=150;//圆外接矩形左上角x坐标

privateinty=150;//圆外接矩形左上角y坐标

publicvoidaddR()//控件圆增大的方法

{

radius=radius+5;

repaint();//重绘圆

}

publicvoidsetxy(intx2,inty2){

//设置圆外接矩形左上角x,y坐标的方法

x=x2;

y=y2;

repaint();

}

publicvoidleftMove()//控件圆向左移动

{

x=x-5;

if(x<0)x=0;

repaint();

}

publicvoidpaint(Graphicsg){

//绘制圆

super.paint(g);

g.drawOval(x,y,2*radius,2*radius);

}

}

答题解析:

此题主要考查:

1类的构建及应用,若要控制圆上下左右移动,并不是在类外编写该功能,而是类本身具有移动功能,类外生成实体并调用该功能。

2.图形的绘制及重绘功能。

实例代码:

packagetest11;

importjava.awt.BorderLayout;

importjava.awt.Graphics;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.KeyEvent;

importjava.awt.event.KeyListener;

importjava.awt.event.MouseEvent;

importjava.awt.event.MouseListener;

importjavafx.scene.input.KeyCode;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

 

publicclasst1extendsJFrameimplementsActionListener,KeyListener,MouseListener{

privateJButtonbtAdd;//定义按钮

privatemyCirclemc;//定义myCircle引用

privateJPanelp1=newJPanel();//定义JPanel

publict1()

{

setLayout(newBorderLayout());//设置布局

mc=newmyCircle();//生成实体

btAdd=newJButton("增大");//生成实体

p1.add(btAdd);//添加到JPanel

add(mc,BorderLayout.CENTER);//添加到窗口

add(p1,BorderLayout.SOUTH);//添加到窗口

mc.setFocusable(true);//设置获得焦点

btAdd.addActionListener(this);//添加监听(按钮单击事件

mc.addKeyListener(this);//添加监听(键盘事件

mc.addMouseListener(this);//添加监听(鼠标事件

setSize(400,400);//设置窗口大小

setLocationRelativeTo(null);//设置窗口居中放置

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置退出方式

setVisible(true);//设置可见性

}

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

newt1();

}

publicvoidkeyPressed(KeyEvente){

//键盘按下事件

switch(e.getKeyCode()){

caseKeyEvent.VK_LEFT:

//左移

mc.leftMove();

break;

caseKeyEvent.VK_RIGHT:

//右移

mc.rightMove();

break;

caseKeyEvent.VK_UP:

//上移

mc.upMove();

break;

caseKeyEvent.VK_DOWN:

//下移

mc.downMove();

break;

}

}

publicvoidkeyReleased(KeyEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidkeyTyped(KeyEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidactionPerformed(ActionEvente){

//按钮单击事件

if(e.getSource()==btAdd)

{

mc.addR();

mc.requestFocus();

}

}

publicvoidmouseClicked(MouseEvente){

//鼠标单击事件

mc.setxy(e.getX(),e.getY());

}

publicvoidmouseEntered(MouseEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidmouseExited(MouseEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidmousePressed(MouseEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidmouseReleased(MouseEventarg0){

//TODOAuto-generatedmethodstub

}

}

classmyCircleextendsJPanel//生成JPanel的子类(画圆及控件圆(变大、变小、上、下、左、右移动)

{

privateintradius=5;//圆半径

privateintx=150;//圆外接矩形左上角x坐标

privateinty=150;//圆外接矩形左上角y坐标

publicvoidaddR()//控件圆增大的方法

{

radius=radius+5;

repaint();//重绘圆

}

publicvoidsetxy(intx2,inty2){

//设置圆外接矩形左上角x,y坐标的方法

x=x2;

y=y2;

repaint();

}

publicvoidleftMove()//控制圆向左移动

{

x=x-5;

if(x<0)x=0;

repaint();

}

publicvoidrightMove()//控制圆向右移动

{

x=x+5;

if(x>this.getWidth()-2*radius)x=this.getWidth()-2*radius;

repaint();

}

publicvoidupMove()//控制圆向上移动

{

y=y-5;

if(y<0)y=0;

repaint();

}

publicvoiddownMove()//控制圆向下移动

{

y=y+5;

if(y>(this.getHeight()-2*radius))y=this.getHeight()-2*radius;

repaint();

}

publicvoidpaint(Graphicsg){

//绘制圆

super.paint(g);

g.drawOval(x,y,2*radius,2*radius);

}

}

 

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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