




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課后作業(yè)一、填空題1.Java.awt包、Java.swing包2.FlowLayout、BorderLayout、GridLayout、CardLayout3.JFrame(框架)、JPanel(面板)4.ActionEvent、ActionListener、actionPerformed
5.BorderLayout,F(xiàn)lowLayout二、設(shè)計(jì)題1.編寫(xiě)一個(gè)應(yīng)用程序,接受用戶輸入的賬號(hào)和密碼,給出三次機(jī)會(huì)。參考代碼:packagechapter10_1;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.border.*;publicclassLoginJFrameextendsJFrameimplementsActionListener{ JTextFieldunameField; JPasswordFieldupwdField; intcount=3; publicLoginJFrame(Stringtitle){ super(title); //創(chuàng)建JLabel對(duì)象, JLabelunameJLabel=newJLabel("用戶名:"); JLabelupwdJLabel=newJLabel("密碼:"); //創(chuàng)建JTextField對(duì)象,JPassword對(duì)象 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,"用戶名或密碼錯(cuò)誤,還有"+count+"次機(jī)會(huì)"); }}} publicstaticvoidmain(String[]args){ newLoginJFrame("登錄"); }}2.設(shè)計(jì)一個(gè)界面有一個(gè)文本框和三個(gè)按鈕,當(dāng)按下每個(gè)按鈕時(shí),使不同的文字顯示在文本框中。參考代碼: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ù)為零時(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("計(jì)算器"); // frame.setVisible(true); } }4.完成圖10-21所示圖形界面的設(shè)計(jì),當(dāng)單擊“驗(yàn)證”按鈕,彈出一個(gè)確認(rèn)對(duì)話框,“重置”按鈕則清除已輸入的數(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025簡(jiǎn)約暑假工雇傭合同
- 2025年標(biāo)準(zhǔn)房屋租賃合同范本「專業(yè)版」
- 河北省石家莊市2024-2025學(xué)年高二下冊(cè)3月月考數(shù)學(xué)試卷附解析
- 廣東省東莞市2024-2025學(xué)年高二下冊(cè)第一次月考數(shù)學(xué)試卷附解析
- 重慶市彭水中學(xué)高級(jí)高考文綜政治練習(xí)短卷發(fā)展質(zhì)量和效益
- 2024年泗縣事業(yè)單位招聘真題
- 鄉(xiāng)鎮(zhèn)防水排漬工作匯報(bào)
- 杭州市蕭山區(qū)機(jī)關(guān)事業(yè)單位招聘筆試真題2024
- 2025年職業(yè)危害因素識(shí)別與管控試題
- 課三國(guó)鼎立教學(xué)設(shè)計(jì)
- 軟件開(kāi)發(fā)需求文檔模板
- T-HHES 010-2024 生產(chǎn)建設(shè)項(xiàng)目水土流失危害評(píng)估編制導(dǎo)則
- 2024浙江寧波華潤(rùn)興光燃?xì)庥邢薰菊衅?人筆試參考題庫(kù)附帶答案詳解
- 2025年天津中考語(yǔ)文作文題目分析與寫(xiě)作范例
- 單位保潔協(xié)議合同范本
- 夫妻公正委托書(shū)
- 排水管道工程施工方案(兩篇)
- 熱性驚厥的健康宣教
- 2025屆高三歷史統(tǒng)編版二輪復(fù)習(xí):中國(guó)古代史 綜合測(cè)試卷(含答案解析)
- 內(nèi)鏡下超聲穿刺護(hù)理配合
- 安裝工程質(zhì)量通病防治手冊(cè)
評(píng)論
0/150
提交評(píng)論