版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课后作业一、填空题1.Java.awt包、Java.swing包2.FlowLayout、BorderLayout、GridLayout、CardLayout3.JFrame(框架)、JPanel(面板)4.ActionEvent、ActionListener、actionPerformed
5.BorderLayout,FlowLayout二、设计题1.编写一个应用程序,接受用户输入的账号和密码,给出三次机会。参考代码:packagechapter10_1;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.border.*;publicclassLoginJFrameextendsJFrameimplementsActionListener{ JTextFieldunameField; JPasswordFieldupwdField; intcount=3; publicLoginJFrame(Stringtitle){ super(title); //创建JLabel对象, JLabelunameJLabel=newJLabel("用户名:"); JLabelupwdJLabel=newJLabel("密码:"); //创建JTextField对象,JPassword对象 unameField=newJTextField(14); upwdField=newJPasswordField(14); //创建JButton按钮 JButtonconfirmButton=newJButton("登录"); JButtoncancelButton=newJButton("重置"); confirmButton.addActionListener(this); //创建用户名面板 JPanelunamePanel=newJPanel(); unamePanel.setBorder(newEmptyBorder(20,0,0,0)); unamePanel.add(unameJLabel); unamePanel.add(unameField); //创建密码面板 JPanelupwdPanel=newJPanel(); upwdPanel.setBorder(newEmptyBorder(10,0,0,0)); upwdPanel.add(upwdJLabel); upwdPanel.add(upwdField); //创建按钮面板 JPanelbuttonPanel=newJPanel(); buttonPanel.setBorder(newEmptyBorder(10,0,0,0)); buttonPanel.add(confirmButton); buttonPanel.add(cancelButton); //将控件加入主界面 this.add(unamePanel); this.add(upwdPanel); this.add(buttonPanel); //设置窗体相关特性 setSize(450,300); setLayout(newGridLayout(4,1)); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); } publicvoidactionPerformed(ActionEvente){Stringusername=unameField.getText();Stringpassword=newString(upwdField.getPassword());if(count>0){ if(username.equals("admin")&&password.equals("123456")){ JOptionPane.showMessageDialog(null,"登录成功"); }else{ count--; JOptionPane.showMessageDialog(null,"用户名或密码错误,还有"+count+"次机会"); }}} publicstaticvoidmain(String[]args){ newLoginJFrame("登录"); }}2.设计一个界面有一个文本框和三个按钮,当按下每个按钮时,使不同的文字显示在文本框中。参考代码:packagechapter10_2;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassJButtonDemoextendsJFrameimplementsActionListener{privateJTextFieldtextField;privateJButtonbutton1,button2,button3;publicJButtonDemo(){setTitle("ButtonDemo");setSize(300,200);setLocationRelativeTo(null);setDefaultCloseOperation(EXIT_ON_CLOSE);initComponents();}privatevoidinitComponents(){textField=newJTextField(20);button1=newJButton("Button1");button2=newJButton("Button2");button3=newJButton("Button3");button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);JPanelpanel=newJPanel(newBorderLayout());panel.add(textField,BorderLayout.NORTH);panel.add(button1,BorderLayout.WEST);panel.add(button2,BorderLayout.CENTER);panel.add(button3,BorderLayout.EAST);getContentPane().add(panel);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==button1){textField.setText("Button1clicked");}elseif(e.getSource()==button2){textField.setText("Button2clicked");}elseif(e.getSource()==button3){textField.setText("Button3clicked");}}publicstaticvoidmain(String[]args){JButtonDemojFrame=newJButtonDemo();jFrame.setVisible(true);}}3.完成图10-20所示图形.。用菜单或按钮完成算术运算,当除数为零时,给出提示信息。参考代码:packagechapter10_3;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassMenuBarCalcextendsJFrameimplementsActionListener{ JButtonbtnAdd,btnSub,btnMul,btnDiv; JTextFieldtxtNum1,txtNum2,txtResult; publicMenuBarCalc(){ JMenuBarjmenuBar=newJMenuBar(); // JMenufileMenu=newJMenu("退出"); JMenueditMenu=newJMenu("操作"); jmenuBar.add(editMenu);//添加到菜单栏中 jmenuBar.add(fileMenu); // JMenuItemaddMenuItem=newJMenuItem("加"); JMenuItemsubMenuItem=newJMenuItem("减"); JMenuItemmulMenuItem=newJMenuItem("乘"); JMenuItemdivMenuItem=newJMenuItem("除"); editMenu.add(addMenuItem); editMenu.add(subMenuItem); editMenu.add(addMenuItem); editMenu.add(mulMenuItem); editMenu.add(divMenuItem); addMenuItem.addActionListener(this); subMenuItem.addActionListener(this); mulMenuItem.addActionListener(this); divMenuItem.addActionListener(this); // // this.setJMenuBar(jmenuBar);//将菜单条设置为当前窗口的菜单条 // btnAdd=newJButton("加"); btnSub=newJButton("减"); btnMul=newJButton("乘"); btnDiv=newJButton("除"); btnAdd.addActionListener(this); btnSub.addActionListener(this); btnMul.addActionListener(this); btnDiv.addActionListener(this); // txtNum1=newJTextField(8); txtNum2=newJTextField(8); txtResult=newJTextField(8); // txtResult.setEditable(false); // JPaneljPanel1=newJPanel(); jPanel1.add(newJLabel("number1:")); jPanel1.add(txtNum1); jPanel1.add(newJLabel("number2:")); jPanel1.add(txtNum2); jPanel1.add(newJLabel("result:")); jPanel1.add(txtResult); JPaneljPanel2=newJPanel(); jPanel2.add(btnAdd); jPanel2.add(btnSub); jPanel2.add(btnMul); jPanel2.add(btnDiv); this.setLayout(newGridLayout(2,1)); this.add(jPanel1); this.add(jPanel2); } @Override publicvoidactionPerformed(ActionEvente){ Stringnum1str=txtNum1.getText(); Stringnum2str=txtNum2.getText(); intnum1=0,num2=0; try{ num1=Integer.parseInt(num1str); num2=Integer.parseInt(num2str); }catch(Exceptione1){ } switch(e.getActionCommand()){ case"加": txtResult.setText(num1+num2+""); break; case"减": txtResult.setText(num1-num2+""); break; case"乘": txtResult.setText(num1*num2+""); break; case"除": if(num2!=0){ txtResult.setText(num1/num2+""); }else{ JOptionPane.showMessageDialog(null,"除数不能为0"); } break; } } publicstaticvoidmain(String[]args){ MenuBarCalcframe=newMenuBarCalc(); frame.setSize(500,170); frame.setTitle("计算器"); // frame.setVisible(true); } }4.完成图10-21所示图形界面的设计,当单击“验证”按钮,弹出一个确认对话框,“重置”按钮则清除已输入的数据。参考代码:packagechapter10_4;importjava.awt.FlowLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ButtonGroup;importjavax.swing.JButton;importjavax.swing.JCheckBox;importjavax.swing.JComboBox;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JRadioButton;importjavax.swing.JTextArea;importjavax.swing.JTextField;publicclassStudentJFrameextendsJFrameimplementsActionListener{ privateJTextFieldsname; privateJRadioButtonsgenderMale,sgenderFemale; privateButtonGroupbggender; privateJCheckBoxjCheckBox1,jCheckBox2,jCheckBox3; privateJTextAreasadress; privateJComboBoxjcb; privateJButtonbtnCheck,btnReset; publicStudentJFrame(){ setTitle("学生详细信息"); setBounds(100,100,460,460); // JPaneljPanel1=newJPanel(newFlowLayout(FlowLayout.LEFT)); sname=newJTextField(""); sname.setColumns(12); jPanel1.add(newJLabel("姓名:")); jPanel1.add(sname); jPanel1.add(newJLabel("学历:")); jcb=newJComboBox(); jcb.addItem("专科"); jcb.addItem("本科"); jcb.addItem("硕士研究生"); jcb.addItem("本科研究生"); jPanel1.add(jcb); JPaneljPanel2=newJPanel(newFlowLayout(FlowLayout.LEFT)); jPanel2.add(newJLabel("地址:")); sadress=newJTextArea(4,12); jPanel2.add(sadress); jPanel2.add(newJLabel("兴趣:")); JPanelhabitPanel=newJPanel(); habitPanel.setLayout(newGridLayout(3,1)); jCheckBox1=newJCheckBox("阅读"); jCheckBox2=newJCheckBox("唱歌"); jCheckBox3=newJCheckBox("跳舞"); habitPanel.add(jCheckBox1); habitPanel.add(jCheckBox2); habitPanel.add(jCheckBox3); jPanel2.add(habitPanel); // JPaneljPanel3=newJPanel(newFlowLayout(FlowLayout.LEFT)); jPanel3.add(newJLabel("性别:")); sgenderMale=newJRadioButton("男"); sgenderFemale=newJRadioButton("女"); sgenderMale.setSelected(true); bggender=newButtonGroup(); bggender.add(sgenderMale); bggender.add(sgenderFemale); jPanel3.add(sgenderMale); jPanel3.add(sgenderFemale); JPaneljPanel4=newJPanel(newFlowLayout(FlowLayout.LEFT,80,0)); btnC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024二手股票买卖合同2篇
- 疫情防控小班课件
- 2024年度工程环保设施施工合同技术要求2篇
- 简单的吊车租赁合同
- 上课课件背景图片
- 无房产证买卖合同范本
- 2024版影视作品版权许可使用协议3篇
- 二零二四年度林地开发与保护土石方运输合同3篇
- 介绍礼仪课件中班
- 2024年度版权质押合同:某影视公司将其著作权作为质押物融资3篇
- 矿泉水项目商业计划书
- 公司财务-第4章 净现值
- 老年性骨质疏松的护理查房课件
- 1.3+化学键【中职专用】(高教版2021通用类)
- 《尼采善恶之彼岸》课件
- 矿井建设过程安全管理指南
- 劳动模范评选管理工作制度
- 火龙罐综合灸疗法
- 2022年GOLD慢阻肺诊治指南
- 上海版六年级英语期末试卷(附听力材料和答案)
- 污水处理厂管道工程施工方案1
评论
0/150
提交评论