Java程序设计项目式教程(含实训任务单)习题答案 单元10 课后作业及参考答案_第1页
Java程序设计项目式教程(含实训任务单)习题答案 单元10 课后作业及参考答案_第2页
Java程序设计项目式教程(含实训任务单)习题答案 单元10 课后作业及参考答案_第3页
Java程序设计项目式教程(含实训任务单)习题答案 单元10 课后作业及参考答案_第4页
Java程序设计项目式教程(含实训任务单)习题答案 单元10 课后作业及参考答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课后作业一、填空题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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论