growthapplet.java

来自「Java 入门书的源码」· Java 代码 · 共 76 行

JAVA
76
字号
//Copyright (c) 1998, Arthur Gittleman
//This example is provided WITHOUT ANY WARRANTY either expressed or implied.

/* Revises Example 9.8, GrowthFrame.java, to make it an applet
 * rather than a standalone application.
 */

import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;

public class GrowthApplet extends Applet
                          implements ActionListener {
  TextField getRate = new TextField(5);
  TextField getBalance = new TextField(8);
  TextField getYears = new TextField(3);
  Label rate = new Label("Rate");
  Label balance = new Label("Balance");
  Label years = new Label("Years");
  MyCanvas canvas = new MyCanvas();
  Button button = new Button("Amount");
  String amount = "Press button";
 
  public void init() {
    setLayout(new BorderLayout());
    Panel p1 = new Panel();
    p1.setLayout(new GridLayout(2,1));
    p1.add(rate);
    p1.add(getRate); 
    Panel p2 = new Panel();
    p2.setLayout(new GridLayout(2,1));
    p2.add(balance);
    p2.add(getBalance); 
    Panel p3 = new Panel();
    p3.setLayout(new GridLayout(2,1));
    p3.add(years);
    p3.add(getYears);
    Panel p = new Panel();
    p.add(p1);
    p.add(p2);
    p.add(p3);
    Panel p4 = new Panel();
    p4.add(button);
    add(p,"North");
    add(canvas,"Center");
    add(p4,"South"); 
    button.addActionListener(this);
  } 
  public String computeGrowth() {
    double rate = Double.valueOf(getRate.getText()).doubleValue();
    double balance = Double.valueOf(getBalance.getText()).doubleValue();
    int years = Integer.valueOf(getYears.getText()).intValue();
    for (int i = 1; i <= years; i++)
      balance += balance * rate/100;
    int whole = (int)balance;
    return String.valueOf(whole);
  }
  public void actionPerformed(ActionEvent event) {
    amount = "The amount is " + computeGrowth();
    canvas.repaint();
  } 

  class MyCanvas extends Canvas {
    public MyCanvas() {
      Font f = new Font("Serif",Font.BOLD,24);
      setFont(f);
    }
    public void paint(Graphics g) {
      g.drawString(amount,30,30); 
    }
  }
}
           
                       
  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?