|
|
| 一个JAVABean的小例子 |
作者:未知
文章来源:www.jspcn.net
访问次数:987次
加入时间:2005年01月19日
|
|
//Loan.java import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.beans.*;
public class Loan extends JPanel implements ActionListener { JLabel lType,lAmount,lmonth,lInstlmnt; JTextField tAmount,tmonth,tInstlmnt; JList tType; JButton submit; String loanType; String[] interestRates={"5","5","4"}; public String[] getInterestRates() { return interestRates; } public void setInterestRates(String[] interestRates) { this.interestRates=interestRates; } public Loan() { lType=new JLabel("贷款类型:"); lAmount=new JLabel("贷款金额:"); lmonth=new JLabel("贷款月数:"); lInstlmnt=new JLabel("每月应付金额:"); tAmount=new JTextField(10); tmonth=new JTextField(10); tInstlmnt=new JTextField(10); String[] Type={"Housing","Personal","Car"}; tType=new JList(Type); submit=new JButton("È?¶¨"); setLayout(new GridLayout(5,2)); add(lType); add(tType); add(lAmount); add(tAmount); add(lmonth);add(tmonth); add(lInstlmnt);add(tInstlmnt); add(submit); lInstlmnt.setVisible(false); tInstlmnt.setVisible(false); submit.addActionListener(this); } public void actionPerformed(ActionEvent evt) { float intlmnt=0; int carloan=0; int personalloan=0; int houseloan=0; int amount; int noofmonth; JButton source=(JButton)evt.getSource(); amount=Integer.parseInt(tAmount.getText()); noofmonth=Integer.parseInt(tmonth.getText()); //loanType = (String)tType.getSelectedValue(); //tInstlmnt.setText("sample"); int amtpermonth=amount/noofmonth; if(!(interestRates[0]).equals("")) { carloan=Integer.parseInt(interestRates[0]); } if(!(interestRates[1]).equals("")) { personalloan=Integer.parseInt(interestRates[1]); } if(!(interestRates[2]).equals("")) { houseloan=Integer.parseInt(interestRates[2]); } loanType=(String)tType.getSelectedValue(); if(loanType.equals("Personal")) { intlmnt=(personalloan*amount)/(100*noofmonth); } if(loanType.equals("Housing")) { intlmnt=(houseloan*amount)/(100*noofmonth); } if(loanType.equals("Car")) { intlmnt=(carloan*amount)/(100*noofmonth); } tInstlmnt.setText(String.valueOf(intlmnt+amtpermonth)); lInstlmnt.setVisible(true); tInstlmnt.setVisible(true); tInstlmnt.setEnabled(false); } }
//LoanEditor.java import java.beans.*; import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class LoanEditor extends JPanel implements PropertyEditor,ActionListener { JLabel lcar,lpersonal,lhouse; JTextField tcar,tpersonal,thouse; String[] interestRates={"","",""}; JPanel Panel; public Object getValue() { interestRates[0]=tcar.getText(); interestRates[1]=tpersonal.getText(); interestRates[2]=thouse.getText(); return interestRates; } public void setValue(Object ctemp) { interestRates= (String[]) ctemp; tcar.setText(interestRates[0]); tpersonal.setText(interestRates[1]); thouse.setText(interestRates[2]); } public Component getCustomEditor(){return this;} public LoanEditor() { lcar=new JLabel("Æû³µ´û¿î"); lpersonal=new JLabel("¸öÈË´û¿î"); lhouse=new JLabel("?¿ÎÝ´û¿î"); tcar=new JTextField(10); tpersonal=new JTextField(10); thouse=new JTextField(10); setLayout(new BorderLayout()); Panel=new JPanel(); Panel.setLayout(new GridLayout(3,2)); Panel.add(lcar); Panel.add(tcar); Panel.add(lpersonal); Panel.add(tpersonal); Panel.add(lhouse); Panel.add(thouse); add(new JPanel(),BorderLayout.WEST); add(new JPanel(),BorderLayout.EAST); add(Panel,BorderLayout.CENTER); tcar.addActionListener(this); tpersonal.addActionListener(this); thouse.addActionListener(this); } public void actionPerformed(ActionEvent evt) { interestRates[0]=tcar.getText(); interestRates[1]=tpersonal.getText(); interestRates[2]=thouse.getText(); } public boolean isPaintable(){ return true;} public void paintValue(Graphics g,Rectangle r){} public String getJavaInitializationString(){ return null;} public String getAsText(){return null;} public void setAsText(String s) throws IllegalArgumentException{} public String[] getTags(){ return null;} public boolean supportsCustomEditor(){ return true;} }
//LoanBeanInfo.java import java.beans.*; import java.awt.*;
public class LoanBeanInfo extends SimpleBeanInfo { public PropertyDescriptor[] getPropertyDescriptors() { try { PropertyDescriptor interestRates=new PropertyDescriptor("interestRates",Loan.class); interestRates.setPropertyEditorClass(LoanEditor.class); PropertyDescriptor arr[]=new PropertyDescriptor[1]; arr[0]=interestRates; return arr; } catch(Exception e) { System.out.println(e); return null; } } }
//Loan.mft Name: Loan.class Java-Bean: True
Name: LoanEditor.class Java-Bean: False
Name: LoanBeanInfo.class Java-Bean: False
打包程序 jar cvfm Loan.jar Loan.mft *.class
|
|
|