ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:17.94KB ,
资源ID:8796048      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8796048.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验12图形用户界面.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

实验12图形用户界面.docx

1、实验12图形用户界面实验12 图形用户界面一、 实验目的1. 掌握GUI开发的基本过程2. 能够根据要求,选择合适的布局管理器和相应组件完成页面的布局3. 理解事件响应机制,掌握事件编程二、实验题目1、完成课本171-172页的选择题和填空题2、完成173页编程题的第4题3、下面是一个计算器实现的代码,有兴趣的同学可以进行阅读和分析import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.Action

2、Event;import java.awt.event.ActionListener;import java.text.DecimalFormat;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;public class cal implements ActionListener / 导入动作监听接口 / 设计面板中的

3、单位 JFrame frame; JTextField textAnswer; JPanel panel1, panel2, panel3; JLabel labelMemSpace; JButton buttonBk, buttonCe, buttonC; JButton button; JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul, buttonDiv, buttonMod; JButton buttonSqrt, buttonDao, buttonEqual; DecimalFormat df; /

4、 设置数据输出精度 boolean clickable; / 控制当前能否按键 double vard, answerd; / 用来保存double型数据的中间值(vard)和最后结果(answerd) short key = -1, prekey = -1; / key用来保存当前进行何种运算,prekey用来保存前次进行何种运算 String copy; / 做复制用 JTextArea help; / 帮助 / 构造函数 public cal() clickable = true; answerd = 0; frame = new JFrame(计算器); df = new Decima

5、lFormat(0.#); / 设置数据输出精度(对于double型值) textAnswer = new JTextField(15); textAnswer.setText(); textAnswer.setEditable(false); textAnswer.setBackground(new Color(255, 255, 255); panel1 = new JPanel(); panel2 = new JPanel(); frame.getContentPane().add(panel1); panel1.setLayout(new BorderLayout(); / 设计整个面

6、板 panel1.add(textAnswer, BorderLayout.NORTH); labelMemSpace = new JLabel( ); buttonBk = new JButton(Backspace); buttonBk.setForeground(new Color(255, 0, 0); buttonCe = new JButton(CE); buttonCe.setForeground(new Color(255, 0, 0); buttonC = new JButton(C); buttonC.setForeground(new Color(255, 0, 0);

7、buttonBk.addActionListener(this); buttonCe.addActionListener(this); buttonC.addActionListener(this); panel1.add(panel2, BorderLayout.CENTER); panel2.setLayout(new FlowLayout(FlowLayout.RIGHT); panel2.add(labelMemSpace); panel2.add(buttonBk); panel2.add(buttonCe); panel2.add(buttonC); panel3 = new JP

8、anel(); panel1.add(panel3, BorderLayout.SOUTH); button = new JButton10; for (int i = 0; i button.length; i+) buttoni = new JButton(Integer.toString(i); buttoni.setForeground(new Color(0, 0, 255); buttonDot = new JButton(.); buttonDot.setForeground(new Color(0, 0, 255); buttonAddAndSub = new JButton(

9、+/-); buttonAddAndSub.setForeground(new Color(0, 0, 255); buttonAdd = new JButton(+); buttonAdd.setForeground(new Color(255, 0, 0); buttonSub = new JButton(-); buttonSub.setForeground(new Color(255, 0, 0); buttonMul = new JButton(*); buttonMul.setForeground(new Color(255, 0, 0); buttonDiv = new JBut

10、ton(/); buttonDiv.setForeground(new Color(255, 0, 0); buttonMod = new JButton(%); buttonMod.setForeground(new Color(0, 0, 255); buttonSqrt = new JButton(sqrt); buttonSqrt.setForeground(new Color(0, 0, 255); buttonDao = new JButton(1/x); buttonDao.setForeground(new Color(0, 0, 255); buttonEqual = new

11、 JButton(=); buttonEqual.setForeground(new Color(255, 0, 0); / 将所有行为与监听绑定 panel3.setLayout(new GridLayout(4, 5); panel3.add(button7); button7.addActionListener(this); panel3.add(button8); button8.addActionListener(this); panel3.add(button9); button9.addActionListener(this); panel3.add(buttonDiv); bu

12、ttonDiv.addActionListener(this); panel3.add(buttonSqrt); buttonSqrt.addActionListener(this); panel3.add(button4); button4.addActionListener(this); panel3.add(button5); button5.addActionListener(this); panel3.add(button6); button6.addActionListener(this); panel3.add(buttonMul); buttonMul.addActionLis

13、tener(this); panel3.add(buttonMod); buttonMod.addActionListener(this); panel3.add(button1); button1.addActionListener(this); panel3.add(button2); button2.addActionListener(this); panel3.add(button3); button3.addActionListener(this); panel3.add(buttonSub); buttonSub.addActionListener(this); panel3.ad

14、d(buttonDao); buttonDao.addActionListener(this); panel3.add(button0); button0.addActionListener(this); panel3.add(buttonAddAndSub); buttonAddAndSub.addActionListener(this); panel3.add(buttonDot); buttonDot.addActionListener(this); panel3.add(buttonAdd); buttonAdd.addActionListener(this); panel3.add(

15、buttonEqual); buttonEqual.addActionListener(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); / 设置各个按钮行为 public void actionPerformed(ActionEvent event) Object temp = event.getSource(); / 如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后 for (int i = 0; i = 9; i+) if

16、(temp = buttoni & clickable = true) textAnswer.setText(textAnswer.getText() + Integer.toString(i); / 按下.按钮时,判断当前文本框内字符串中含不含.,如果已含,则不允许再插入. if (temp = buttonDot & clickable = true) boolean isDot = false; if (textAnswer.getText().length() = 0) isDot = true; for (int i = 0; i textAnswer.getText().lengt

17、h(); i+) if (. = textAnswer.getText().charAt(i) isDot = true; break; if (isDot = false) textAnswer.setText(textAnswer.getText() + .); if (temp = buttonAdd | temp = buttonSub | temp = buttonMul | temp = buttonDiv) & clickable = true) / + if (temp = buttonAdd) switch (prekey) case 0: answerd += Double

18、.parseDouble(textAnswer.getText(); case 1: answerd -= Double.parseDouble(textAnswer.getText(); case 2: answerd *= Double.parseDouble(textAnswer.getText(); case 3: if (Double.parseDouble(textAnswer.getText() = 0) textAnswer.setText(除数不能为零); clickable = false; else answerd /= Double.parseDouble(textAn

19、swer.getText(); break; default: answerd = Double.parseDouble(textAnswer.getText(); textAnswer.setText(); prekey = key = 0; / - if (temp = buttonSub) switch (prekey) case 0: answerd += Double.parseDouble(textAnswer.getText(); case 1: answerd -= Double.parseDouble(textAnswer.getText(); case 2: answerd

20、 *= Double.parseDouble(textAnswer.getText(); case 3: if (Double.parseDouble(textAnswer.getText() = 0) textAnswer.setText(除数不能为零); clickable = false; else answerd /= Double.parseDouble(textAnswer.getText(); break; default: answerd = Double.parseDouble(textAnswer.getText(); textAnswer.setText(); preke

21、y = key = 1; / * if (temp = buttonMul) switch (prekey) case 0: answerd += Double.parseDouble(textAnswer.getText(); case 1: answerd -= Double.parseDouble(textAnswer.getText(); case 2: answerd *= Double.parseDouble(textAnswer.getText(); case 3: if (Double.parseDouble(textAnswer.getText() = 0) textAnsw

22、er.setText(除数不能为零); clickable = false; else answerd /= Double.parseDouble(textAnswer.getText(); break; default: answerd = Double.parseDouble(textAnswer.getText(); textAnswer.setText(); prekey = key = 2; / / if (temp = buttonDiv) switch (prekey) case 0: answerd += Double.parseDouble(textAnswer.getTex

23、t(); case 1: answerd -= Double.parseDouble(textAnswer.getText(); case 2: answerd *= Double.parseDouble(textAnswer.getText(); case 3: if (Double.parseDouble(textAnswer.getText() = 0) textAnswer.setText(除数不能为零); clickable = false; else answerd /= Double.parseDouble(textAnswer.getText(); break; default

24、: answerd = Double.parseDouble(textAnswer.getText(); textAnswer.setText(); prekey = key = 3; / = if (temp = buttonEqual & clickable = true) if (prekey = 5) if (key = 0) answerd += vard; textAnswer.setText(df.format(answerd); if (key = 1) answerd -= vard; textAnswer.setText(df.format(answerd); if (ke

25、y = 2) answerd *= vard; textAnswer.setText(df.format(answerd); if (key = 3) answerd /= vard; textAnswer.setText(df.format(answerd); else vard = Double.parseDouble(textAnswer.getText(); if (key = 0) prekey = -1; answerd += Double.parseDouble(textAnswer.getText(); textAnswer.setText(df.format(answerd)

26、; if (key = 1) prekey = -1; answerd -= Double.parseDouble(textAnswer.getText(); textAnswer.setText(df.format(answerd); if (key = 2) prekey = -1; answerd *= Double.parseDouble(textAnswer.getText(); textAnswer.setText(df.format(answerd); if (key = 3) prekey = -1; answerd /= Double.parseDouble(textAnsw

27、er.getText(); textAnswer.setText(df.format(answerd); prekey = 5; / 取余 if (temp = buttonMod & clickable = true) if (answerd = 0) String s = textAnswer.getText(); textAnswer.setText(s); else / 开根号 if (temp = buttonSqrt & clickable = true) String s = textAnswer.getText(); if (s.charAt(0) = -) textAnswer.setText(不能开根); clickable = false; else textAnswer.setText(Double.toString(java.lang.Math.sqrt(Double .parseDouble(textAnswer.getText(); / 求倒数 if (temp = buttonDao & clickable = true) String s = textAnswer

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2