Java Reference
In-Depth Information
17
18
19
public LoanCalculator() {
// Panel p1 to hold labels and text fields
JPanel p1 = new JPanel( new GridLayout( 5 , 2 ));
20
21 p1.add( new JLabel( "Annual Interest Rate" ));
22 p1.add(jtfAnnualInterestRate);
23 p1.add( new JLabel( "Number of Years" ));
24 p1.add(jtfNumberOfYears);
25 p1.add( new JLabel( "Loan Amount" ));
26 p1.add(jtfLoanAmount);
27 p1.add( new JLabel( "Monthly Payment" ));
28 p1.add(jtfMonthlyPayment);
29 p1.add( new JLabel( "Total Payment" ));
30 p1.add(jtfTotalPayment);
31 p1.setBorder( new
32 TitledBorder( "Enter loan amount, interest rate, and years" ));
33
34
create UI
// Panel p2 to hold the button
add to frame
35
36 p2.add(jbtComputeLoan);
37
38 // Add the panels to the frame
39 add(p1, BorderLayout.CENTER);
40 add(p2, BorderLayout.SOUTH);
41
42
JPanel p2 = new JPanel( new FlowLayout(FlowLayout.RIGHT));
// Register listener
43
44 }
45
46
jbtComputeLoan.addActionListener( new ButtonListener());
register listener
/** Handle the Compute Payment button */
47
48 @Override
49 public void actionPerformed(ActionEvent e) {
50 // Get values from text fields
51 double interest =
52 Double.parseDouble( );
53 int year = Integer.parseInt(jtfNumberOfYears.getText());
54 double loanAmount =
55 Double.parseDouble(jtfLoanAmount.getText());
56
57
private class ButtonListener implements ActionListener {
get input
jtfAnnualInterestRate.getText()
// Create a loan object. Loan defined in Listing 10.2
Loan loan = new Loan(interest, year, loanAmount);
create loan
58
59
60
// Display monthly payment and total payment
61
62
63 jtfTotalPayment.setText(String.format( "%.2f" ,
64 loan.getTotalPayment()));
65 }
66 }
67
68 public static void main(String[] args) {
69 LoanCalculator frame = new LoanCalculator();
70 frame.pack();
71 frame.setTitle( "LoanCalculator" );
72 frame.setLocationRelativeTo( null ); // Center the frame
73 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
74 frame.setVisible( true );
75 }
76 }
jtfMonthlyPayment.setText(String.format( "%.2f" ,
set result
loan.getMonthlyPayment()));
 
Search WWH ::




Custom Search