第08周 预习、实验及作业:Java GUI编程

本文介绍如何将控制台版的GuessGame转换为图形用户界面(GUI),通过创建GUIGame类继承GuessGame,利用JOptionPane实现交互。同时,讨论了抽象类在代码设计中的好处,如面向对象、隐藏实现细节和代码维护性。并提供了部分GUI代码实现。
摘要由CSDN通过智能技术生成

简易预习流程:先看预习课件,认真完成里面的习题。然后根据需要观看视频。最后尝试完成课前问题列表。
以预习课件(两份)为主,建议在电脑前尝试运行课件中的代码。具体任务如下:

  1. 运行预习课件"GUI-1"中的登录框界面,并尝试在"用户名"对应的文本框(JTextField)中,输入自己的昵称。并截图上传。

在这里插入图片描述

  1. 查看

    https://www.cnblogs.com/zhrb/p/8978560.html

    中的GuessGame代码。完成如下任务:

    • 将Guess游戏改为图形界面。即,编写一个GUIGame继承GuessGame,但里面对输入输出的处理采用对话框。
    • GuessGame的两种版本(控制台、图形界面)为例,简述这里使用抽象类的好处。
    • 图形界面对话框参考资料: https://www.cnblogs.com/jiangxiulian/p/5961990.html

不大会写这部分代码,只写了部分接口

public class GUIGame extends GuessGame {
	public void go() {
		int number = (int) (Math.random() * 10);
		int guess;
		int res;
		while (true) {
			String inputValue = JOptionPane.showInputDialog("请输入您猜的数字");
			guess = Integer.valueOf(inputValue);
			if (guess == number) {
				res = JOptionPane.showConfirmDialog(null, "正确!,是否继续", "选择", JOptionPane.YES_NO_OPTION);
				if (res == JOptionPane.YES_OPTION) {
					continue;
				} else
					break;
			} else {
				res = JOptionPane.showConfirmDialog(null, "猜错啦!,是否继续", "选择", JOptionPane.YES_NO_OPTION);
				if (res == JOptionPane.YES_OPTION) {
					continue;
				} else
					break;
			}
		}
		JOptionPane.showConfirmDialog(null, "结束啦", "结束啦", JOptionPane.YES_OPTION);
	}
	public void print(String text) {		
	}
	public void println(String text) {		
	}
	public int nextInt() {
		return 0;
	}
}

功能展示:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

抽象类的好处:

1.通过对抽象类的方法进行重写能够较好的使我们的代码实现面向对象,这道题中我们就实现了面向 控制台和面向图形用户界面的两种形式。

2.隐藏实现细节,用户只需要观看抽象类的方法名就确定功能,不需要关心具体实现。

3.因为抽象类不能实例化对象,必须要有子类来实现它之后才能使用,把一些方法进行抽象,这样更有利于代码有和程序的维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值