⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mortgageapplet.java

📁 此源码为机械工业出版社出版的《Java语言程序设计》第三版所配套的书中所有源代码。
💻 JAVA
字号:
// MortgageApplet.java: Applet for computing mortgage payments
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;

public class MortgageApplet extends JApplet
  implements ActionListener
{
  // Declare and create text fields for interest rate
  // year, loan amount, monthly payment, and total payment
  private JTextField jtfAnnualInterestRate = new JTextField();
  private JTextField jtfNumOfYears = new JTextField();
  private JTextField jtfLoanAmount = new JTextField();
  private JTextField jtfMonthlyPayment = new JTextField();
  private JTextField jtfTotalPayment = new JTextField();

  // Declare and create a Compute Mortgage button
  private JButton jbtComputeMortgage = new JButton("Compute Mortgage");

  // Initialize user interface
  public void init()
  {
    // Set properties on the text fields
    jtfMonthlyPayment.setEditable(false);
    jtfTotalPayment.setEditable(false);

    // Right align text fields
    jtfAnnualInterestRate.setHorizontalAlignment(JTextField.RIGHT);
    jtfNumOfYears.setHorizontalAlignment(JTextField.RIGHT);
    jtfLoanAmount.setHorizontalAlignment(JTextField.RIGHT);
    jtfMonthlyPayment.setHorizontalAlignment(JTextField.RIGHT);
    jtfTotalPayment.setHorizontalAlignment(JTextField.RIGHT);

    // Panel p1 to hold labels and text fields
    JPanel p1 = new JPanel();
    p1.setLayout(new GridLayout(5, 2));
    p1.add(new Label("Annual Interest Rate"));
    p1.add(jtfAnnualInterestRate);
    p1.add(new Label("Number of Years"));
    p1.add(jtfNumOfYears);
    p1.add(new Label("Loan Amount"));
    p1.add(jtfLoanAmount);
    p1.add(new Label("Monthly Payment"));
    p1.add(jtfMonthlyPayment);
    p1.add(new Label("Total Payment"));
    p1.add(jtfTotalPayment);
    p1.setBorder(new
      TitledBorder("Enter interest rate, year and loan amount"));

    // Panel p2 to hold the button
    JPanel p2 = new JPanel();
    p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
    p2.add(jbtComputeMortgage);

    // Add the components to the applet
    getContentPane().add(p1, BorderLayout.CENTER);
    getContentPane().add(p2, BorderLayout.SOUTH);

    // Register listener
    jbtComputeMortgage.addActionListener(this);
  }

  // Handler for the "Compute Mortgage" button
  public void actionPerformed(ActionEvent e)
  {
    if (e.getSource() == jbtComputeMortgage)
    {
      // Get values from text fields
      double interest =
        (Double.valueOf(jtfAnnualInterestRate.getText())).doubleValue();
      int year =
        (Integer.valueOf(jtfNumOfYears.getText())).intValue();
      double loan =
        (Double.valueOf(jtfLoanAmount.getText())).doubleValue();

      // Create a mortgage object
      Mortgage m = new Mortgage(interest, year, loan);

      // Display monthly payment and total payment
      jtfMonthlyPayment.setText(String.valueOf(m.monthlyPayment()));
      jtfTotalPayment.setText(String.valueOf(m.totalPayment()));
    }
  }
}

⌨️ 快捷键说明

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