1. 执行applet的浏览器被称为applet容器。Java2软件开发工具箱本身包含了一个applet容器(即appletviewer),在把applet嵌入网页前可以用它来测试applet.
2. applet 容器只为指定为public并继承了JApplet的类创建对象。所以定义applet类时必须以关键字public开头。
3. applet 容器开始执行applet时自动调用三个方法。
init() —— 仅被调用一次,用来初始化applet的实例变量。
start() ——
paint()—— 要让applet能够绘图,必须覆盖默认的paint方法。但这个方法并不是被程序员显式调用的,而是由applet容器调用paint方法并将paint方法所需要
的信息(通常是一个 Graphics 对象,成为g)传递给paint,告诉paint开始绘图。而创建Graphics 对象的一个引用g 则是 applet容器的任务。paint方法
使用Graphics 对象在applet上绘图。
4. 在执行applet前,必须创建一个HTML文件,将applet载入applet容器中。如:
<html>
<applet code = "WelcomeApplet.class" width= "300" height = "45">
</applet>
</html>
5. java.awt 中的Graphics类,可以画出直线,矩形,椭圆,字符串等图形。
g.drawString(str, x, y) —— 第一个参数是要显式的String,
后两个参数是,字符串显式位置的左下角x-y坐标。x 离applet左边界的像素值,y 离applet上边界的像素值。
g.drawLine(15 , 30 , 210 , 10) —— 需要四个参数来表示直线的两个端点,直线起点的x , y 坐标和终点 x , y 坐标。所有坐标值,根据左上角(0 , 0)来确定。
g.drawRect(15 , 10 , 270 , 20) —— 需要四个参数 。前两个代表矩形框的左上角位置的x , y坐标。第3个和第4个参数是非负参数。
第三个参数,矩形的长。第四个参数,矩形的宽。
g.drawOval(15 , 10 , 270 , 20); 绘制椭圆的边框。得到的是一个圆或椭圆,它恰好适合放在由 x、y、width 和 height 参数指定的矩形内。
椭圆覆盖区域的宽度为 width + 1 像素,高度为 height + 1 像素。
参数:
x - 要绘制椭圆的左上角的 x 坐标。
y - 要绘制椭圆的左上角的 y 坐标。
width - 要绘制椭圆的宽度。
height - 要绘制椭圆的高度。
6. DecimalFormat twoDigits = new DecimalFormat("0.00");
DecimalFormat —— 位于java.text包中,用来格式化数据。
7.
package chapter05;
import java.text.NumberFormat;
import java.util.Locale;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
/*
* 需求:若在银行存款1000.00$ , 利率为 5%。假设所有利息又存入银行,计算并打印出10年内每年的存款数。计算公式为:
* a = p(1 + r)^n (p —— 本金, r —— 利率 n 年数 ,a,第n 年的存款)
* 思路:
* 1. 需要的变量:baseMoney 1000 interestRate 5% yearNum 10
* 2. 第一年 1000
* 第二年1000(1 + r)^1
* 第三年1000(1 + r)*(1 + r) = 1000(1 + r)^2
* ………………
* 第n年 1000(1 + r)^(n - 1)
*/
public class InterestTwo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义变量:
double baseMoney,
yearNum,
amount,
rate;
double interestRate;
//初始化变量
baseMoney = 1000.00;
rate = 0.05;
yearNum = 10;
interestRate = 1 + rate;
/*NumberFormat(位于java.text包中。) 声明了一个对象moneyFormat , 并通过调用NumberFormat类的static方法getCurrencyInstance 对它进行初始化。
* 返回一个能设置数值作为货币单位的NumberFormat类的对象。Locale.CHINA表示货币值是人民币。
* Locale类提供程序中用来表示每个国家通用的货币值的变量—— 位于java.util包中
*
*
*/
NumberFormat moneyFormat = NumberFormat.getCurrencyInstance(Locale.CHINA);
/*
* JTextArea —— 位于javax.swing包中。是一个能显示多行文本的GUI 组件。显示JTextArea的信息对话框的大小决定了JTextArea的长和宽。
* setText() —— 该方法将String 放到JTextArea的对象outputTextArea中。
* append() —— 将给定文本追加到文档结尾。如果模型为 null 或者字符串为 null 或空,则不执行任何操作
*/
JTextArea outputTextArea = new JTextArea();
outputTextArea.setText("year\tAmount on deposit \n");
for(int year = 1; year <= 10 ; year++){
/*
* Java中没有指数操作符。指数运算可以使用Math类的static方法pow. Math.pow(x ,y) 方法计算x 的 y 次方。
*/
amount = baseMoney* Math.pow(interestRate, year);
outputTextArea.append(year + "\t" + moneyFormat.format(amount) + "\n");
}
JOptionPane.showMessageDialog(null, outputTextArea, "hehe", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
8.
package chapter05;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class LogicalOperators {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JTextArea outputArea = new JTextArea(17 , 20 );
/*
* JScrollPane (javax.swing)提供一个带滚屏功能的GUI组件。一个JScrollPane对象被初始化成为一个提供滚屏功能的GUI组件(这里是outputArea)
* JScrollPane(Component view)
* 创建一个显示指定组件内容的 JScrollPane,只要组件的内容超过视图大小就会显示水平和垂直滚动条。
*/
JScrollPane scroller = new JScrollPane(outputArea);
String output;
output = "JScrollPane is a GUI 组件\n";
for(int i = 0; i< 50 ; i++){
output+= "看好了,前面是几\n"+i;
}
outputArea.setText(output);
JOptionPane.showMessageDialog(null, scroller, "哎呦", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}