import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.border.TitledBorder;
import java.awt.event.*;
public class LoanCalculator extends JFrame {
private JTextField jtfAnnualInterestRate = new JTextField();
private JTextField jtfNumberOfYears = new JTextField();
private JTextField jtfLoanAmount = new JTextField();
private JTextField jtfMonthlyPayment = new JTextField();
private JTextField jtfTotalPayment = new JTextField();
public LoanCalculator() {
JPanel panel1 = new JPanel(new GridLayout(5, 1));
panel1.add(new JLabel("Annual Interest Rate: "));
panel1.add(jtfAnnualInterestRate);
panel1.add(new JLabel("Number of Years: "));
panel1.add(jtfNumberOfYears);
panel1.add(new JLabel("Loan Amount: "));
panel1.add(jtfLoanAmount);
panel1.add(new JLabel("Monthly Payment: "));
panel1.add(jtfMonthlyPayment);
panel1.add(new JLabel("Total Payment: "));
panel1.add(jtfTotalPayment);
panel1.setBorder(new TitledBorder("Enter loan amount, interest rate, and year"));
jtfMonthlyPayment.setEditable(false);
jtfTotalPayment.setEditable(false);
JPanel panel2 = new JPanel(new FlowLayout(FlowLayout.RIGHT));
JButton jbtOK = new JButton("Compute Payment");
panel2.add(jbtOK);
add(panel1, BorderLayout.CENTER);
add(panel2, BorderLayout.SOUTH);
jbtOK.addActionListener(new ButtonListener());
}
class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
double interest = Double.parseDouble(jtfAnnualInterestRate.getText());
int year = Integer.parseInt(jtfNumberOfYears.getText());
double loanAmount = Double.parseDouble(jtfLoanAmount.getText());
Loan loan = new Loan(interest, year, loanAmount);
jtfMonthlyPayment.setText(String.format("%.2f", loan.getMonthlyPayment()));
jtfTotalPayment.setText(String.format("%.2f", loan.getTotalPayment()));
}
}
public static void main(String[] args) {
LoanCalculator frame = new LoanCalculator();
frame.setTitle("LoanCalculation");
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.border.TitledBorder;
import java.awt.event.*;
public class LoanCalculator extends JFrame {
private JTextField jtfAnnualInterestRate = new JTextField();
private JTextField jtfNumberOfYears = new JTextField();
private JTextField jtfLoanAmount = new JTextField();
private JTextField jtfMonthlyPayment = new JTextField();
private JTextField jtfTotalPayment = new JTextField();
public LoanCalculator() {
JPanel panel1 = new JPanel(new GridLayout(5, 1));
panel1.add(new JLabel("Annual Interest Rate: "));
panel1.add(jtfAnnualInterestRate);
panel1.add(new JLabel("Number of Years: "));
panel1.add(jtfNumberOfYears);
panel1.add(new JLabel("Loan Amount: "));
panel1.add(jtfLoanAmount);
panel1.add(new JLabel("Monthly Payment: "));
panel1.add(jtfMonthlyPayment);
panel1.add(new JLabel("Total Payment: "));
panel1.add(jtfTotalPayment);
panel1.setBorder(new TitledBorder("Enter loan amount, interest rate, and year"));
jtfMonthlyPayment.setEditable(false);
jtfTotalPayment.setEditable(false);
JPanel panel2 = new JPanel(new FlowLayout(FlowLayout.RIGHT));
JButton jbtOK = new JButton("Compute Payment");
panel2.add(jbtOK);
add(panel1, BorderLayout.CENTER);
add(panel2, BorderLayout.SOUTH);
jbtOK.addActionListener(new ButtonListener());
}
class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
double interest = Double.parseDouble(jtfAnnualInterestRate.getText());
int year = Integer.parseInt(jtfNumberOfYears.getText());
double loanAmount = Double.parseDouble(jtfLoanAmount.getText());
Loan loan = new Loan(interest, year, loanAmount);
jtfMonthlyPayment.setText(String.format("%.2f", loan.getMonthlyPayment()));
jtfTotalPayment.setText(String.format("%.2f", loan.getTotalPayment()));
}
}
public static void main(String[] args) {
LoanCalculator frame = new LoanCalculator();
frame.setTitle("LoanCalculation");
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}