Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5520469
  • 博文数量: 763
  • 博客积分: 12108
  • 博客等级: 上将
  • 技术积分: 15717
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-28 21:21
个人简介

业精于勤,荒于嬉

文章分类

全部博文(763)

文章存档

2018年(6)

2017年(15)

2016年(2)

2015年(31)

2014年(14)

2013年(87)

2012年(75)

2011年(94)

2010年(190)

2009年(38)

2008年(183)

2007年(28)

分类: Java

2008-10-09 21:18:41


//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 */
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 old=new String();
        old=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 obj=evt.getSource();
        if(obj==submit)
            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 be
made 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.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);
    }
}

阅读(1848) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~