




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告课程名称:Java程序设计 实验项目:实验三Java图形用户界面设计系别_理学院_专业/班级_信计1302_姓名_ _实验日期_ _2015.5.5_成绩_指导教师_ _一、实验题目: 实验三 Java 图形用户界面二、实验内容:(1)创建一个窗口1)窗口有标题“Exercise2)在窗口内从文本框输入用户名,密码,并选择”确定“按钮。如果用户名为“abc”,密码为“123”,则提示“用户名密码正确”,否则输入”用户名或密码错误“。(2)创建一个窗口1)窗口有“退出”菜单,选择后可退出程序窗口内有“提示”菜单,单击后弹出信息框,显示自己的班级、学号、姓名2)在窗口内实现一个贷款计算器,程序,从键盘上输入年利率、贷款额、贷款年数,输出月还款额以及总的还款额。要求: 1) 创建贷款类来模拟贷款的属性和行为,如具有年利率、贷款年限、贷款额等属性,以及计算月利率、计算月还款额、总还款额等行为。 2) 创建实际的应用类(包含main方法),生成图形界面,并调用贷款类的功能。 三、程序清单及结果:(需要标明实现程序对应的实验内容,并给出合理的程序注释及运行结果)1.1)程序清单及注释import javax.swing.*;import java.awt.event.*;import java.awt.*;public class land extends JFrame implements ActionListenerJTextField username = new JTextField(15);/定义用户名JPasswordField password = new JPasswordField(15);/定义密码JButton ok = new JButton(确定);/定义按钮JLabel messLabel = new JLabel( );/定义显示框GridBagLayout gridbag = new GridBagLayout();/定义布局public land()super(Exercise);/标题setSize(250,200);/窗口大小setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/退出方式JLabel usernameLabel = new JLabel(姓名:);/定义姓名:JLabel passwordLabel = new JLabel(密码:);/定义密码:ok.addActionListener(this);/确定按钮的动作GridBagConstraints constraints;setLayout(gridbag);addComponent(usernameLabel,0,0,1,1,10,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);/依次加入各个部件addComponent(username,1,0,5,1,40,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);addComponent(passwordLabel,0,1,1,1,10,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);/依次加入各个部件addComponent(password,1,1,5,1,40,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);addComponent(messLabel,1,2,1,1,100,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);/依次加入各个部件addComponent(ok,1,3,3,1,10,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);setVisible(true);/显示粗来public void actionPerformed(ActionEvent evt)/按钮的动作String user = abc;/用户名Object source = evt.getSource();char pass = password.getPassword();/密码if (source =ok)if(username.getText().equals(user) & isPasswordCorrect(pass)/如果用户名和密码正确messLabel.setText(用户名密码正确);elsemessLabel.setText(用户名密码错误);repaint();/重绘private static boolean isPasswordCorrect(char inputPassword) /验证密码char actualPassword = 1, 2, 3 ;/真实的密码if (inputPassword.length != actualPassword.length)/判断长度是否相同return false; / 长度不同,密码错误for (int i = 0; iinputPassword.length; i+)if (inputPasswordi != actualPasswordi)/挨个比较return false;/有不一样的就退出return true;private void addComponent(Component component , int gridx, int gridy, int gridwidth, int gridheight ,int weightx, int weighty, int fill, int anchor)GridBagConstraints constraints = new GridBagConstraints();constraints.gridx = gridx;constraints.gridy = gridy;constraints.gridwidth = gridwidth;constraints.gridheight = gridheight;constraints.weightx = weightx;constraints.weighty = weighty;constraints.fill = fill;constraints.anchor = anchor;gridbag.setConstraints(component, constraints);add(component);public static void main(String args)land ts = new land();2)程序运行结果2.1) 程序清单及注释import java.awt.*;import java.awt.event.*;import javax.swing.*;public class LoanCalculator extends JFrame implements ActionListener ,FocusListener/按钮JButton quit = new JButton(退出);JButton tip = new JButton(提示);/文本框JTextField annualratetext = new JTextField(4);/年利率JTextField yeartext = new JTextField(4);/贷款年限JTextField loantext = new JTextField(4);/贷款额JTextField monthrepaytext = new JTextField(4);/月还款额JTextField totalrepaytext = new JTextField(4);/总还款额GridBagLayout gridbag = new GridBagLayout();/定义布局class Loan/定义贷款类float annualrate;float year;float loan;float monthrepay;float totalrepay;Loan(float a,float y, float l)/构造函数annualrate=a;year=y;loan=l;monthrepay=0;totalrepay=l;for (int i=0;iyear;i+)totalrepay=(1+annualrate)*totalrepay;/计算monthrepay=totalrepay/12/year;public float getMonthrepay()/月还款额接口return monthrepay;public float getTotalrepay()/总还款额接口return totalrepay;public LoanCalculator()super(贷款计算器);/标题setSize(250,200);/窗口大小setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/退出方式/确定按钮的动作quit.addActionListener(this);tip.addActionListener(this);/用户输入annualratetext.addFocusListener(this);yeartext.addFocusListener(this);loantext.addFocusListener(this);/页面布局设置GridBagConstraints constraints;setLayout(gridbag);/输出项不可编辑monthrepaytext.setEditable(false);totalrepaytext.setEditable(false);/标签JLabel annualrateLabel = new JLabel( 年利率);/年利率JLabel yearLabel = new JLabel(贷款年限 );/贷款年限JLabel loanLabel = new JLabel( 贷款额);/贷款额JLabel monthrepayLabel = new JLabel(月还款额 );/月还款额JLabel totalrepayLabel = new JLabel(总还款额);/总还款额/设计布局addComponent(annualrateLabel,0,0,1,1,10,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);addComponent(annualratetext,1,0,9,1,90,100,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST);addComponent(yearLabel,0,1,1,1,10,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);addComponent(yeartext,1,1,5,1,90,100,GridBagConstraints.HORIZONTAL,GridBagConstraints.EAST);addComponent(loanLabel,0,2,1,1,10,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);addComponent(loantext,1,2,5,1,90,100,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER);addComponent(monthrepayLabel,0,3,1,1,10,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);addComponent(monthrepaytext,1,3,5,1,90,100,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER);addComponent(totalrepayLabel,0,4,1,1,10,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);addComponent(totalrepaytext,1,4,5,1,40,100,GridBagConstraints.HORIZONTAL,GridBagConstraints.CENTER);/按钮位置addComponent(quit,1,5,1,1,30,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);addComponent(tip,0,5,1,1,30,100,GridBagConstraints.NONE,GridBagConstraints.CENTER);setVisible(true);/显示粗来private void addComponent(Component component , int gridx, int gridy, int gridwidth, int gridheight ,int weightx, int weighty, int fill, int anchor)/窗口设计GridBagConstraints constraints = new GridBagConstraints();constraints.gridx = gridx;constraints.gridy = gridy;constraints.gridwidth = gridwidth;constraints.gridheight = gridheight;constraints.weightx = weightx;constraints.weighty = weighty;constraints.fill = fill;constraints.anchor = anchor;gridbag.setConstraints(component, constraints);add(component);public void actionPerformed(ActionEvent evt)/按钮的动作Object source = evt.getSource();if (source =tip)JOptionPane.showMessageDialog(null,班级:信计1302n学号:1111111111n姓名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》题库高频难、易错点100题模拟试题及答案详解【新】
- 渔业养殖保险服务创新创业项目商业计划书
- 网络安全事件响应团队创新创业项目商业计划书
- 乳品品牌营销创新创业项目商业计划书
- 2025年教师招聘之《小学教师招聘》试题一及完整答案详解(易错题)
- 2025内蒙古呼伦贝尔陆港国际有限公司市场化选聘总经理、副总经理备考及1套参考答案详解
- 教师招聘之《小学教师招聘》考前冲刺分析及完整答案详解【网校专用】
- 押题宝典教师招聘之《小学教师招聘》模考模拟试题附参考答案详解【典型题】
- 2025年教师招聘之《幼儿教师招聘》每日一练试卷附参考答案详解(典型题)
- 反诈考试题库及答案
- 2025年市级科技馆招聘笔试重点
- 2025西电考试题及答案
- 泡茶的步骤课件
- 2025年先兆流产的护理查房
- 人教版(2024)八年级上册数学全册教案
- 2025年部编版新教材语文九年级上册教学计划(含进度表)
- (高清版)DB11∕T 2440-2025 学校食堂病媒生物防制规范
- GB/T 7324-2010通用锂基润滑脂
- 土地管理法(1986年版)
- 动物遗传学第十章遗传病的传递方式.ppt
- 延期缴纳税款申请报告申请延期缴纳税款报告2p.doc
评论
0/150
提交评论