分享
 
 
 

一个JAVABean的小例子

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

//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("Æ&UCirc;³µ´û¿î");

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有