Java程序設(shè)計項目式教程(含實訓(xùn)任務(wù)單)習(xí)題答案 單元10 課后作業(yè)及參考答案_第1頁
Java程序設(shè)計項目式教程(含實訓(xùn)任務(wù)單)習(xí)題答案 單元10 課后作業(yè)及參考答案_第2頁
Java程序設(shè)計項目式教程(含實訓(xùn)任務(wù)單)習(xí)題答案 單元10 課后作業(yè)及參考答案_第3頁
Java程序設(shè)計項目式教程(含實訓(xùn)任務(wù)單)習(xí)題答案 單元10 課后作業(yè)及參考答案_第4頁
Java程序設(shè)計項目式教程(含實訓(xùn)任務(wù)單)習(xí)題答案 單元10 課后作業(yè)及參考答案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

課后作業(yè)一、填空題1.Java.awt包、Java.swing包2.FlowLayout、BorderLayout、GridLayout、CardLayout3.JFrame(框架)、JPanel(面板)4.ActionEvent、ActionListener、actionPerformed

5.BorderLayout,F(xiàn)lowLayout二、設(shè)計題1.編寫一個應(yīng)用程序,接受用戶輸入的賬號和密碼,給出三次機(jī)會。參考代碼:packagechapter10_1;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.border.*;publicclassLoginJFrameextendsJFrameimplementsActionListener{ JTextFieldunameField; JPasswordFieldupwdField; intcount=3; publicLoginJFrame(Stringtitle){ super(title); //創(chuàng)建JLabel對象, JLabelunameJLabel=newJLabel("用戶名:"); JLabelupwdJLabel=newJLabel("密碼:"); //創(chuàng)建JTextField對象,JPassword對象 unameField=newJTextField(14); upwdField=newJPasswordField(14); //創(chuàng)建JButton按鈕 JButtonconfirmButton=newJButton("登錄"); JButtoncancelButton=newJButton("重置"); confirmButton.addActionListener(this); //創(chuàng)建用戶名面板 JPanelunamePanel=newJPanel(); unamePanel.setBorder(newEmptyBorder(20,0,0,0)); unamePanel.add(unameJLabel); unamePanel.add(unameField); //創(chuàng)建密碼面板 JPanelupwdPanel=newJPanel(); upwdPanel.setBorder(newEmptyBorder(10,0,0,0)); upwdPanel.add(upwdJLabel); upwdPanel.add(upwdField); //創(chuàng)建按鈕面板 JPanelbuttonPanel=newJPanel(); buttonPanel.setBorder(newEmptyBorder(10,0,0,0)); buttonPanel.add(confirmButton); buttonPanel.add(cancelButton); //將控件加入主界面 this.add(unamePanel); this.add(upwdPanel); this.add(buttonPanel); //設(shè)置窗體相關(guān)特性 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+"次機(jī)會"); }}} publicstaticvoidmain(String[]args){ newLoginJFrame("登錄"); }}2.設(shè)計一個界面有一個文本框和三個按鈕,當(dāng)按下每個按鈕時,使不同的文字顯示在文本框中。參考代碼: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所示圖形.。用菜單或按鈕完成算術(shù)運(yùn)算,當(dāng)除數(shù)為零時,給出提示信息。參考代碼: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);//將菜單條設(shè)置為當(dāng)前窗口的菜單條 // 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,"除數(shù)不能為0"); } break; } } publicstaticvoidmain(String[]args){ MenuBarCalcframe=newMenuBarCalc(); frame.setSize(500,170); frame.setTitle("計算器"); // frame.setVisible(true); } }4.完成圖10-21所示圖形界面的設(shè)計,當(dāng)單擊“驗證”按鈕,彈出一個確認(rèn)對話框,“重置”按鈕則清除已輸入的數(shù)據(jù)。參考代碼: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("學(xué)生詳細(xì)信息"); setBounds(100,100,460,460); // JPaneljPanel1=newJPanel(newFlowLayout(FlowLayout.LEFT)); sname=newJTextField(""); sname.setColumns(12); jPanel1.add(newJLabel("姓名:")); jPanel1.add(sname); jPanel1.add(newJLabel("學(xué)歷:")); 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論