import java.awt.*;import java.awt.event.*;import java.io.Serializable;import javax.swing.*;import java.beans.*;public class Loan extends JPanel implements ActionListener{protected PropertyChangeSupport changes=new PropertyChangeSupport(this);private String loanType=new String("Personal Loan");public void setLoanType(String temp){String ld=new String();ld=loanType;loanType=temp;changes.firePropertyChange("loanType",old,temp);}public String getLoanType(){return loanType;}JLabel lid,ltype;JTextField tid,ttype;JButton submit;public Loan(){lid=new JLabel("Enter Loan Id:");tid=new JTextField(8);ltype=new JLabel("Loan Type:");ttype=new JTextField(15);submit=new JButton("ADD NEW LOAN");setLayout(new GridLayout(3,2));add(lid);add(tid);add(ltype);add(ttype);submit.addActionListener(this);add(submit);}public void actionPerformed(ActionEvent evt){Object bj=evt.getSource();if(obj==//Loan.java/* This class contains the User Interface that Earnest Bank uses to add new loan types to the database. Whenever a new loan type is added, a property change event is generated */submitAN>)setLoanType(ttype.getText());} public void addPropertyChangeListener(PropertyChangeListener l){changes.addPropertyChangeListener(l);}public void removePropertyChangeListener(PropertyChangeListener l){changes.removePropertyChangeListener(l);}}//CustomerLoan.java/* The following class is used by Earnest Bank to accept the details of customers who take loans. Whenever a new loan type is added to the database, the loan type should bemade available to the user./* This class traps the property change event generated by the Loan class and adds the new loan type to its loan type combo box. */import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.beans.*;import java.io.*;public class CustomerLoan implements PropertyChangeListener{ static JFrame. frameObj; JPanel mp,chp1, Mpane; Loan lp; BoxLayout bl; JLabel lcname,lctype; JTextField tcname; JComboBox tctype; public CustomerLoan() { mp=new JPanel(); chp1=new JPanel(); Mpane=new JPanel(); lp=new Loan(); //bl=new BoxLayout(mp,BoxLayout.Y_AXIS); //bl.addLayoutComponent(new String("Loan Panel"),lp); //bl.addLayoutComponent(new String("Customer Panel"),chp1); Mpane.setLayout(new FlowLayout()); Mpane.add(lp); Mpane.add(chp1); frameObj.getContentPane().add(Mpane); lcname=new JLabel("Customer Name:"); lctype=new JLabel("Type of Loan taken:"); tcname=new JTextField(6); tctype=new JComboBox(); tctype.addItem(lp.AN>getLoanType()); chp1.setLayout(new GridLayout(2,2)); chp1.add(lcname); chp1.add(tcname); chp1.add(lctype); chp1.add(tctype); lp.addPropertyChangeListener(this); } public void propertyChange(PropertyChangeEvent pcevent) { System.out.println("propertyChange was call"); tctype.addItem(pcevent.getNewValue()); } public static void main(String args[]) { frameObj=new JFrame("Loan Frame"); new CustomerLoan(); frameObj.setSize(400,400); frameObj.setVisible(true); }}
遇见你,是我一生的幸运;爱上你,