




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课后作业一、填空题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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 11901-1:2025 EN Tools for pressing - Gas springs - Part 1: General specifications
- 【正版授权】 ISO 9466:2025 EN Railway applications - Coating of passenger rail vehicles
- 【正版授权】 ISO/IEC 15045-4-2:2024 EN Information technology - Home Electronic System (HES) gateway - Part 4-2: Structure - Simple gateway
- 2025年物流运输项目融资担保合同汇编
- 2025年度绿色能源项目融资居间合作协议范本
- 幼儿园健康教育教学计划
- 林业行业会计个人工作计划
- 财务信息化建设方案计划
- 学习成果与展示活动计划
- 前台工作中的情绪管理技巧计划
- 2024机械买卖协议
- 2024-2030年中国汽车安全气囊行业发展形势分析及投资规划分析报告
- DZ∕T 0289-2015 区域生态地球化学评价规范(正式版)
- 译林版六年级下册英语Unit-1《The-lion-and-the-mouse》教学课件
- 睡眠中心管理系统技术要求
- 学校校园禁烟处罚管理方案
- 少儿美术教育知识讲座
- 外科学教学课件:颈、腰椎退行性疾病
- 2023-2024届高考语文复习小说训练(含答案)-孙犁《风云初记》
- 中医培训课件:《拔罐技术》
- 取节育环之后的护理
评论
0/150
提交评论