Java计算器

package 你自己的包;

import javax.swing.*;
/*
 Swing 是一个用于 Java GUI 编程(图形界面设计)的工具包(类库);换句话说,Java 可以用来开发带界面的 PC 软件,使用到的工具就是 Swing。
 Swing 使用纯粹的 Java 代码来模拟各种控件(使用 Java 自带的作图函数绘制出各种控件)
 */
import java.awt.*;
/*
 java.awt包提供了基本的GUI设计工具,主要包括组件(Component)、容器(Container)和布局管理器(LayoutManager);
 Java的图形用户界面的最基本组成部分是组件(Component),组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来;
 组件(Component)类的部分重要的成员方法有:
 getComponentAt(int x,int y) //获得坐标(x,y)上的组件对象
 getFont() //获得组件的字体
 paint(Grahics g) //绘制组件
 repaint() //重新绘制组件
 setVisible(Boolean b) //设置组件是否可见
 Container是一个类,实际上是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是用来放置其他组件和容器;
*/

/*
 AWT(Abstract Window Toolkit,抽象窗口工具)是一套早期的 Java GUI 开发工具,Swing 也是在 AWT 的基础上发展起来的。
 AWT 的初衷是用来开发小型的图形界面程序,提供的功能较少,诸如剪切板、打印支持、键盘导航、弹出式菜单、滚动窗格等很多重要的功能在 AWT 中都不具备;
 此外,AWT 发生错误的几率也很高。
 Java 官方看到了 AWT 的不足,就开始着手开发新的 GUI 类库,以继续占领 Java GUI 开发的市场,这就是后来的 Swing。
 Swing 弥补了 AWT 的不足,并对 AWT 进行了扩充,几乎支持了所有的常用控件和功能,它们不但更加漂亮,而且更加易用,
 真正实现了“一次编译,到处运行”的承诺。目前,Swing 已经代替 AWT 成为 Java 图形界面设计的首选,相对于 AWT 来说,Swing 有过之而无不及。
 */
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//用于键盘监听的
public class Carculator extends JFrame implements ActionListener{
    //因为implements ActionListener,所以按钮被点击时,窗体就会监听到,并调用方法actionPerformed
//JFrame是swing的
	
	//以下注释部分本来是写在这个类中的,但为了体现java特性,创造一个类Const,把东西放在里面
	/*
	public static final int FRAME_W = 300;//窗体构造器部分那里设置了宽为300
	public static final int FRAME_H = 300;//窗体构造器部分那里设置了高为300
	public static final int SCREEN_W = Toolkit.getDefaultToolkit().getScreenSize().width;//获取电脑屏幕的宽
	public static final int SCREEN_H = Toolkit.getDefaultToolkit().getScreenSize().height;//获取电脑屏幕的高
	
	public int frame_x = (SCREEN_W - FRAME_W)/2;//能让窗口正好处于屏幕中央的x坐标点
	public int frame_y = (SCREEN_H - FRAME_H)/2;//能让窗口正好处于屏幕中央的y坐标点
	*/
	
	//以下3行为创造一个布局(为了窗体北面而创建的,但这里还没有指定是北面)
	//JPanel没有设置布局(空的,只占了位置,但里面如框,按钮等什么也没有),默认是流式布局(流式布局是一种等比例缩放布局方式)。
	private JPanel jp_north = new JPanel();//创建布局
	private JTextField input_text = new JTextField();//JTextField表示的是文本框,就是显示数字的那个长长的框,但现在还未设置框的长宽
	private JButton c_Btn = new JButton("C"); /*在Swing 中按钮是 JButton 类的对象,Button是在java.awt.*中的,
	                                                                               而JButton是在javax.swing.*中。写入的值是显示在按钮上的符号
	                                                                               写入"C"是因为计算器里清空的那个标识就是"C"
											  */					
	
	//以下3行为创造一个布局(为了窗体中间123456789和加减乘除号等16个按钮而创建的,但这里还没有指定是中间)
	private JPanel jp_center = new JPanel();//创建布局
	
	
	
	public Carculator() throws HeadlessException{
    //创造一个构造器(用于创造出窗体)
	//HeadlessException是awt的 
	/*
	在开发中,如果去调用别人写的方法时,是否能知道别人写的方法是否会发生异常?
	这是很难判断的。针对这种情况,Java总允许在方法的后面使用throws关键字对外声明该方法有可能发生异常,
	这样调用者在调用方法时,就明确地知道该方法有异常,并且必须在程序中对异常进行处理,否则编译无法通过。
	*/
		this.init();//为了让代码不显得臃肿,把本来应该写在这里的代码放进方法 init() 里。
		this.addNorthComponent();//为了让代码不显得臃肿,把本来应该写在init方法里的东西写在addNorthCom
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeYello

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值