- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【实验名称】实验5 Java GUI
【实验目的】
1、学习和掌握Java常用的GUI组件。
2、学习和掌握Java常用的布局管理器。
3、实习和掌握Java的事件驱动程序设计方法。
4、能够实现简单的Java GUI。
【实验步骤(解题过程)】
1、第一步,Java GUI静态界面的设计和实现,包括:组件和组件的摆放(布局管理器)。
2、第二步,Java GUI动态事件处理的设计与实现,需要Java事件驱动模型。
3、第三步,如果需要实体类支持,则按实验2的步骤实现实体类并使用。
【实验内容】
1、(移动小球)编写一个程序,在面板上移动小球。定义一个面板类来显示小球,并提供想做、向右、向上和向下移动小球的方法。
说明:⑴程序来源编程练习16.3(P456)。⑵可以不考虑小球
移动到边界外的情况。
【实验预习】
问题描述:创建一个界面,通过鼠标点击按钮实现小球的上下左右移动。
输入;鼠标点击按钮;处理:通过事件监听,实现圆的重画;输出;显示出移动效果。
技术支持;需要用到事件监听,及圆的绘制即图形知识,布局管理器等。
【附编程代码】
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MovingBall extends JFrame {
private static JButton bleft=new JButton(向左);
private static JButton bright=new JButton(向右);
private static JButton bup=new JButton(向上);
private static JButton bdown=new JButton(向下);
private CirclePanel canvas = new CirclePanel();
public MovingBall() {
JPanel panel = new JPanel(); // 将按钮放入面板中
panel.add(bleft);
panel.add(bright);
panel.add(bup);
panel.add(bdown);
this.add(canvas, BorderLayout.CENTER); // 将含有圆的面板放在中央
this.add(panel, BorderLayout.SOUTH); //将含有按钮的面板放在右边
//创建按钮的监听器并注册到按钮
bleft.addActionListener(new Listener());
bright.addActionListener(new Listener());
bup.addActionListener(new Listener());
bdown.addActionListener(new Listener());
}
//主方法
public static void main(String[] args) {
JFrame frame = new MovingBall();
frame.setTitle(移动的小球);
frame.setLocationRelativeTo(null); // Center the frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(480, 300);
frame.setVisible(true);
}
//监听类
class Listener implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println(new java.util.Date(e.getWhen()));
if (e.getSource() == bleft)
canvas.left();
else if (e.getSource() == bright)
canvas.right();
else if (e.getSource() ==bup)
文档评论(0)