Java小白入门第十二弹 应用(Java核心技术)

这一一部分主要的目标就是要掌握
1、Java桌面应用
(1)了解桌面应用
(2)两个重要的库:Java桌面应用有两套API即AWT和Swing
AWT演示:发布较早,只能在Windows平台下运行
在这里插入图片描述

Swing演示:在java1.2后发布,可以实现跨平台
在这里插入图片描述

2、Java Web应用
这里就用一个图形界面小代码来演示:

package com.csdn;

import java.awt.Frame;
//GUI 图形界面
public class Demo13 {
	public static void main(String[] args) {
		Frame f = new Frame("窗口标题");
		f.setLocation(20,20);
		f.setSize(800, 600);
		f.setVisible(true);
		}
}
3

、Java移动开发应用
这里用一个比较大的实现计算器功能的代码来说明,这段代码涉及到按键,颜色,光标,字体,窗口,富文本框,鼠标和窗口的适配等类,是比较庞大的代码:

package com.csdn;

import java.awt.Button;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Calculator {
	public static void main(String[] args) {
		new MyFrame("计算器");
	}
}
class MyFrame extends Frame{
	private static final long serialVersionUID = 1L;
	private TextArea ta,tb;
	public MyFrame(String title){
		super(title);
		SetTextAreas();
		SetButtonArea();
		SetMainFram();
	}
	private void SetButtonArea() {
		addButton("7",33,28,20,178);
		addButton("8",33,28,58,178);
		addButton("9",33,28,96,178);
		addButton("/",33,28,134,178);
		addButton("%",33,28,172,178);
		
		addButton("4",33,28,20,210);
		addButton("5",33,28,58,210);
		addButton("6",33,28,96,210);
		addButton("*",33,28,134,210);
		addButton("1/x",33,28,172,210);
		
		addButton("1",33,28,20,242);
		addButton("2",33,28,58,242);
		addButton("3",33,28,96,242);
		addButton("-",33,28,134,242);
		
		addButton("0",71,28,20,274);
		addButton(".",33,28,96,274);
		addButton("+",33,28,134,274);
		
		addButton("=",33,60,172,242);
	}
	double m,n;
	String k;
	boolean flag = true;
	boolean flag2 = false;
	private void addButton(String string, int i,int j,int x,int y) {
		final Button b = new Button(string);
		b.setLocation(x,y);
		b.setSize(i, j);
		b.setFont(new Font("标楷体",Font.BOLD, 15));
		b.setBackground(Color.black);
		b.setForeground(Color.darkGray);
		b.addMouseListener(new MouseAdapter() {
			public void mousePressed(MouseEvent e) {
				counts();
			}
			private void counts() {
				if(ta.getText().equals("")&&(b.getActionCommand().equals("+")||
						b.getActionCommand().equals("-")||
						b.getActionCommand().equals("*")||
						b.getActionCommand().equals("/")||
						b.getActionCommand().equals("%")||
						b.getActionCommand().equals("1/x")||
						b.getActionCommand().equals("="))) {
				}else if(ta.getText().equals(".")&&(b.getActionCommand().equals("+")||
						b.getActionCommand().equals("-")||
						b.getActionCommand().equals("*")||
						b.getActionCommand().equals("/")||
						b.getActionCommand().equals("%")||
						b.getActionCommand().equals("1/x")||
						b.getActionCommand().equals("="))) {
				}else {
				if(		b.getActionCommand().equals("+")||
						b.getActionCommand().equals("-")||
						b.getActionCommand().equals("*")||
						b.getActionCommand().equals("%")||
						b.getActionCommand().equals("1/x")||
						b.getActionCommand().equals("/")) {
					if(flag2 = true) {
						flag2 = false;
					}
				if(flag) {
					n = new Double(ta.getText()).doubleValue();
					flag = false;
				}else {
					if(k=="=") {
					}else {
						m = new Double(ta.getText()).doubleValue();
						if(k=="-") {
							if(n==0)
								n = m;
							else 
								n = n-m;
							}else if(k == "+") {
								if(n==0)
									n = m;
								else
									n = n + m;
								}else if(k == "*") {
									if(n==0)
										n = m;
									else
										n=n*m;
								}else if(k=="%") {
									if(n==0)
										n=m;
									else
										m=m*100;
								}else if(k=="1/x") {
									if(n==0)
										n = m;
									else 
										n=n/m;
								}
					}
				}
					k = b.getActionCommand();
						ta.setText("");
				}else if(b.getActionCommand().equals("=")) {
					m = new Double(ta.getText()).doubleValue();
					if(k == "+") {
						ta.setText("");
						ta.append(n+"+"+m);
						ta.append(System.getProperty("line.separator"));
						n = n+m;
						ta.append("="+n);
						}else if(k == "-") {
							ta.setText("");
							ta.append(n+"-"+m);
							ta.append(System.getProperty("line.separator"));
							n = n-m;
							ta.append("="+n);
						}else if(k == "*") {
							ta.setText("");
							ta.append(n+"*"+m);
							ta.append(System.getProperty("line.separator"));
							n = n*m;
							ta.append("="+n);
						}else if(k == "%") {
							ta.setText("");
							ta.append(n+"%"+m);
							ta.append(System.getProperty("line.separator"));
							m = m*100;
							ta.append("="+m+"%");
						}else if(k == "1/x") {
							ta.setText("");
							ta.append(1+"/"+m);
							ta.append(System.getProperty("line.separator"));
							n = 1/m;
							ta.append("="+n);
						}else if(k == "/") {
							ta.setText("");
							ta.append(n+"/"+m);
							ta.append(System.getProperty("line.separator"));
							n = n/m;
							ta.append("="+n);
						}
						k="=";
						flag2 = true;
					}else {
						if(flag2) {
							flag = true;
							flag2 = false;
							ta.setText("");
							m = n =0;
						}
						ta.append(b.getActionCommand());
					}
				}	
			}
			});
				this.add(b);
	}
	private void SetTextAreas() {
		ta = new TextArea("0",8,52,3);
		ta.setBackground(Color.lightGray);
		ta.setSize(190, 50);
		ta.setLocation(20, 60);
		ta.setFont(new Font("标楷体",Font.BOLD, 15));
		this.add(ta);
		tb = new TextArea("By GHZ",8,52,3);
		tb.setBackground(Color.pink);
		tb.setSize(190,25);
		tb.setFont(new Font("标楷体",Font.BOLD, 16));
		tb.setForeground(Color.pink);
		tb.setLocation(20,130);
		this.add(ta);
		this.add(tb);
	}
	@SuppressWarnings("deprecation")
	private void SetMainFram() {
		this.setLayout(null);
		this.setSize(220, 310);
		this.setVisible(true);
		this.setLocation(310,340);
		this.setResizable(false);
		this.setResizable(false);
		this.setCursor(Cursor.HAND_CURSOR);
		this.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

固执的鱼besos

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

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

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

打赏作者

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

抵扣说明:

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

余额充值