exercise24_9.java

来自「java程序设计 机械工业出版社 书籍代码」· Java 代码 · 共 74 行

JAVA
74
字号
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.border.*;
import java.text.*;

public class Exercise24_9 extends JApplet {
  JPanel jPanel1 = new JPanel();
  JLabel jLabel1 = new JLabel();

  JSpinner jSpinnerLoanAmount =
  new JSpinner(new SpinnerNumberModel(100000.0, 10000, 10000000, 500)); ;
  JLabel jLabel2 = new JLabel();

  JSpinner jSpinnerNumOfYears = new JSpinner(
    new SpinnerNumberModel(15, 1, 30, 1));
  JLabel jLabel3 = new JLabel();
  JSpinner jSpinnerAnnualInterestRate =
    new JSpinner(new SpinnerNumberModel(0.05, 0.01, 0.15, 0.00125));
  JButton jbtLoanSchedule = new JButton();
  TitledBorder titledBorder1;
  JScrollPane jScrollPane1 = new JScrollPane();

  DefaultTableModel tableModel = new DefaultTableModel();

  JTable jtbLoanSchedule = new JTable(tableModel);
  JPanel jPanel2 = new JPanel();
  BorderLayout borderLayout1 = new BorderLayout();
  GridLayout gridLayout1 = new GridLayout();

  /**Construct the applet*/
  public Exercise24_9() {
    titledBorder1 = new TitledBorder("");
    this.setSize(new Dimension(705, 399));
    jLabel1.setText("Loan Amount");
    jLabel2.setText("Number of Years");
    jLabel3.setText("Annual Interest Rate");
    jbtLoanSchedule.setText("Display Loan Schedule");
    jbtLoanSchedule.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jbtLoanSchedule_actionPerformed(e);
      }
    });
    jPanel1.setLayout(gridLayout1);
    jPanel1.setBorder(titledBorder1);
    titledBorder1.setTitle("Enter Loan Amount, Number of Years, and Annual Interest Rate");
    jPanel2.setLayout(borderLayout1);
    gridLayout1.setRows(3);
    gridLayout1.setColumns(2);
    this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
    this.getContentPane().add(jPanel2, BorderLayout.NORTH);
    jPanel2.add(jbtLoanSchedule, BorderLayout.EAST);
    jPanel2.add(jPanel1, BorderLayout.CENTER);
    jPanel1.add(jLabel1, null);
    jPanel1.add(jSpinnerLoanAmount, null);
    jPanel1.add(jLabel2, null);
    jPanel1.add(jSpinnerNumOfYears, null);
    jPanel1.add(jLabel3, null);
    jPanel1.add(jSpinnerAnnualInterestRate, null);
    jScrollPane1.getViewport().add(jtbLoanSchedule, null);

    tableModel.setColumnIdentifiers(new String[]{"Payment#",
      "Interest", "Principal", "Balance"});

    // Set editor for annual interest rate
    JSpinner.NumberEditor interestRateEditor =
      new JSpinner.NumberEditor(jSpinnerAnnualInterestRate, "%#.###");
    jSpinnerAnnualInterestRate.setEditor(interestRateEditor);

    // Set editor for loan amount
    JSpinner.NumberEditor loanAmountEditor =
      new JSpinner.NumberEditor(jSpinnerLoanAmount, "

⌨️ 快捷键说明

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