




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
...wd......wd......wd...實(shí)驗(yàn)報(bào)告課程名稱:JAVA程序設(shè)計(jì)學(xué)生姓名:孫文浩班級(jí)計(jì)算機(jī)141學(xué)號(hào)14416122學(xué)院〔系〕:信息數(shù)理學(xué)院指導(dǎo)教師:呂猛實(shí)驗(yàn)時(shí)間:2016年12月6日實(shí)驗(yàn)名稱:實(shí)驗(yàn)五基于Swing的圖形用戶界面開發(fā)實(shí)驗(yàn)實(shí)驗(yàn)五基于Swing的圖形用戶界面開發(fā)實(shí)驗(yàn)一實(shí)驗(yàn)內(nèi)容〔1〕完成開發(fā)界面如以下列圖,實(shí)現(xiàn)如下功能選中“查看已有名片〞按鈕,程序處于查看狀態(tài),可以在“名片列表〞中選擇要查看的名片,程序在“名片詳實(shí)信息〞欄顯示該名片的詳實(shí)信息,此狀態(tài)中名片信息處于不可編輯狀態(tài)選中“添加新名片〞按鈕,程序處于添加狀態(tài),所有關(guān)于明天信息的工程都處于可編輯狀態(tài),設(shè)置完成相關(guān)信息后,單擊“添加〞按鈕,在“名片列表〞中出現(xiàn)新添加名片的名稱。單擊“清空〞按鈕可以清空還沒提交的內(nèi)容在查看狀態(tài)和添加狀態(tài)下,都可以通過點(diǎn)擊“愛好〞、“學(xué)歷〞單項(xiàng)選擇按鈕以顯示名片的不同附加信息〔備注:名片附加信息局部,當(dāng)點(diǎn)擊“愛好〞按鈕時(shí)顯示的如圖1所示,當(dāng)點(diǎn)擊“學(xué)歷〞按鈕時(shí)顯示如圖2所示。〕圖1圖2〔2〕記事本設(shè)計(jì)與實(shí)現(xiàn)如以下列圖〔1〕編程實(shí)現(xiàn)如以下列圖的界面〔2〕實(shí)現(xiàn)文件、編輯、格式、查看,幫助菜單〔3〕實(shí)現(xiàn)記事本的基本功能二實(shí)驗(yàn)?zāi)康睦斫饨M件的分類掌握容器、布局管理器、普通組件的使用理解事件處理機(jī)制的工作原理掌握事件的添加和功能代碼的編寫方法三實(shí)驗(yàn)過程問題分析答:名片的設(shè)計(jì)除了使用最基本的組件,如JButton,Jlist,JCheckBox,JTextField,JRadioButton,CardLayout以外,最主要的是邏輯事件的編寫,在成功布局完見面后,就需要編寫事件處理。首先,由于是名片信息,保存著一個(gè)人的基本信息,所以可以用一個(gè)類來表示,如PersonInf類,其次,由于是多個(gè)人的信息,可以通過ArrayList來存放類;其次就是當(dāng)點(diǎn)擊按鈕的時(shí)候,正確添加和顯示信息,此處用到cardLayout布局,可以減少界面的復(fù)雜度,在使用JList的時(shí)候,除了加滾動(dòng)條意外,還需要listModel獲取數(shù)據(jù)等。代碼編寫答:〔1〕publicclassPersonInf{publicStringyourname;publicStringaddress1;publicStringaddress2;publicStringemail;publicStringsing=null;publicStringdance=null;publicStringweb=null;publicStringfootball=null;publicStringbasketball=null;publicStringvolleyball=null;publicStringxueshi=null;publicStringshuoshi=null;publicStringboshi=null;publicStringqita=null;publicPersonInf(Stringyourname,Stringaddress1,Stringaddress2,Stringemail,Stringsing,Stringdance, Stringweb,Stringfootball,Stringbasketball,Stringvolleyball, Stringxueshi,Stringshuoshi,Stringboshi,Stringqita){super();this.yourname=yourname;this.address1=address1;this.address2=address2;this.email=email;this.sing=sing;this.dance=dance;this.web=web;this.football=football;this.basketball=basketball;this.volleyball=volleyball;this.xueshi=xueshi;this.shuoshi=shuoshi;this.boshi=boshi;this.qita=qita; }}importjava.awt.BorderLayout;importjavax.swing.*;importjava.awt.*;importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjavax.swing.JInternalFrame;importjavax.swing.JRadioButton;importjavax.swing.JLayeredPane;importjavax.swing.JSplitPane;importjavax.swing.BorderFactory;importjavax.swing.Box;importjavax.swing.DefaultListModel;importjava.awt.Component;importjavax.swing.border.SoftBevelBorder;importjavax.swing.event.ListSelectionEvent;importjavax.swing.event.ListSelectionListener;importjavax.swing.border.BevelBorder;importjavax.swing.JLabel;importjavax.swing.JTextField;importjavax.swing.JButton;importjavax.swing.border.EtchedBorder;importjavax.swing.JFormattedTextField;importjavax.swing.JSpinner;importjavax.swing.JTable;importjavax.swing.JList;importjavax.swing.JScrollPane;importjava.awt.Color;importjavax.swing.JTextArea;importjava.awt.event.ActionListener;importjava.awt.event.ItemEvent;importjava.awt.event.ItemListener;importjava.util.ArrayList;importjava.awt.event.ActionEvent;importjava.awt.CardLayout;publicclasscardextendsJFrame{privateJPanelcontentPane;publicJTextFieldnametext;publicJTextFieldaddress1test;publicJTextFieldaddress2test;publicJTextFieldemailtest;publicJButtonaddmessagebutton;publicJButtonclearbutton;privateJListlist;//學(xué)歷,愛好,添加新名片,查看名片的按鈕privateJRadioButtonrdbtnNewRadioButton_2;privateJRadioButtonrdbtnNewRadioButton_3;publicJRadioButtonrdbtnNewRadioButton_1;publicJRadioButtonrdbtnNewRadioButton;privateJPanelpanel_4;//學(xué)歷和愛好內(nèi)的多項(xiàng)選擇項(xiàng)publicJCheckBoxsingbox;publicJCheckBoxdancebox;publicJCheckBoxwebbox;publicJCheckBoxfootballbox;publicJCheckBoxbasketballbox;publicJCheckBoxvolleyballbox;publicJCheckBoxxueshibox;publicJCheckBoxboshibox;publicJCheckBoxshuoshibox;publicJCheckBoxqitabox; ListSelectionModellistSelectionModel; CardLayoutmycard;//用于切換愛好和學(xué)歷卡片//定義默認(rèn)的list模型DefaultListModeldefaultListModel=newDefaultListModel();/** *Launchtheapplication. */publicstaticvoidmain(String[]args){ EventQueue.invokeLater(newRunnable(){publicvoidrun(){try{ cardframe=newcard(); frame.setVisible(true); }catch(Exceptione){ e.printStackTrace(); } } }); }/** *Createtheframe. *///窗體的構(gòu)造函數(shù),用于設(shè)定相關(guān)組件并且添加事件,合理安排組建的位置publiccard(){ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,464,338);contentPane=newJPanel();contentPane.setBorder(newEmptyBorder(5,5,5,5)); setContentPane(contentPane);contentPane.setLayout(null); JPanelpanel=newJPanel(); panel.setBounds(0,0,459,316);contentPane.add(panel); panel.setLayout(null); BoxhorizontalBox=Box.createHorizontalBox(); horizontalBox.setBounds(131,203,121,-41); panel.add(horizontalBox); BoxhorizontalBox_1=Box.createHorizontalBox(); horizontalBox_1.setBounds(0,0,1,1); panel.add(horizontalBox_1); JPanelpanel_1=newJPanel(); panel_1.setBounds(16,27,166,66); panel_1.setBorder(BorderFactory.createLoweredSoftBevelBorder()); panel.add(panel_1);rdbtnNewRadioButton_1=newJRadioButton("查看已有名片");rdbtnNewRadioButton_1.setSelected(true); panel_1.add(rdbtnNewRadioButton_1);rdbtnNewRadioButton_1.addActionListener(newcardseechangelistener());rdbtnNewRadioButton=newJRadioButton("添加新名片"); panel_1.add(rdbtnNewRadioButton);rdbtnNewRadioButton.addActionListener(newcardseechangelistener()); ButtonGroupgroup2=newButtonGroup(); group2.add(rdbtnNewRadioButton_1); group2.add(rdbtnNewRadioButton); JPanelpanel_2=newJPanel(); panel_2.setBorder(newSoftBevelBorder(BevelBorder.LOWERED,null,null,null,null)); panel_2.setBounds(194,27,248,182); panel.add(panel_2); panel_2.setLayout(null); JLabellblNewLabel=newJLabel("姓名"); lblNewLabel.setBounds(34,13,61,16); panel_2.add(lblNewLabel);nametext=newJTextField();nametext.setBounds(100,8,130,26); panel_2.add(nametext);nametext.setColumns(10);address1test=newJTextField();address1test.setColumns(10);address1test.setBounds(100,36,130,26); panel_2.add(address1test); JLabellabel=newJLabel("地址"); label.setBounds(34,41,61,16); panel_2.add(label);address2test=newJTextField();address2test.setColumns(10);address2test.setBounds(100,64,130,26); panel_2.add(address2test); JLabellabel_1=newJLabel(""); label_1.setBounds(28,69,61,16); panel_2.add(label_1); JLabellabel_2=newJLabel("電子郵件"); label_2.setBounds(28,97,61,16); panel_2.add(label_2);emailtest=newJTextField();emailtest.setColumns(10);emailtest.setBounds(100,92,130,26); panel_2.add(emailtest);rdbtnNewRadioButton_2=newJRadioButton("愛好");rdbtnNewRadioButton_2.setBounds(18,125,61,16); panel_2.add(rdbtnNewRadioButton_2);rdbtnNewRadioButton_2.addActionListener(newcardchangelistener());rdbtnNewRadioButton_3=newJRadioButton("學(xué)歷");rdbtnNewRadioButton_3.setBounds(18,153,61,16); panel_2.add(rdbtnNewRadioButton_3);rdbtnNewRadioButton_3.addActionListener(newcardchangelistener()); ButtonGroupgroup1=newButtonGroup(); group1.add(rdbtnNewRadioButton_2); group1.add(rdbtnNewRadioButton_3);addmessagebutton=newJButton("添加");addmessagebutton.addActionListener(newaddmessagebuttonlistener());addmessagebutton.setBounds(123,121,85,27); panel_2.add(addmessagebutton);//清空按鈕,點(diǎn)擊時(shí)觸發(fā)清空的事件clearbutton=newJButton("清空");clearbutton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){if(e.getSource()==clearbutton) {singbox.setSelected(false);dancebox.setSelected(false);webbox.setSelected(false);footballbox.setSelected(false);basketballbox.setSelected(false);volleyballbox.setSelected(false);xueshibox.setSelected(false);shuoshibox.setSelected(false);boshibox.setSelected(false);qitabox.setSelected(false);nametext.setText("");address1test.setText("");address2test.setText("");emailtest.setText(""); } } });clearbutton.setBounds(123,149,85,27); panel_2.add(clearbutton);clearbutton.setEnabled(false);addmessagebutton.setEnabled(false); JPanelpanel_3=newJPanel(); panel_3.setBorder(newSoftBevelBorder(BevelBorder.LOWERED,null,null,null,null)); panel_3.setBounds(16,123,166,187); panel.add(panel_3); panel_3.setLayout(null);list=newJList();list.setModel(defaultListModel);list.setBounds(19,82,85,87);listSelectionModel=list.getSelectionModel();listSelectionModel.addListSelectionListener(newSharedListSelectionHandler()); JScrollPanescrollPane=newJScrollPane(list); scrollPane.setBounds(6,6,154,175); panel_3.add(scrollPane);panel_4=newJPanel();panel_4.setBounds(194,232,248,78); panel.add(panel_4);mycard=newCardLayout();panel_4.setLayout(mycard); JPanelpanel_5=newJPanel(); panel_5.setBorder(newSoftBevelBorder(BevelBorder.LOWERED,null,null,null,null));panel_4.add(panel_5); panel_5.setLayout(null);singbox=newJCheckBox("唱歌");singbox.setBounds(6,16,66,23); panel_5.add(singbox);dancebox=newJCheckBox("跳舞");dancebox.setBounds(82,16,66,23); panel_5.add(dancebox);webbox=newJCheckBox("上網(wǎng)");webbox.setBounds(160,16,66,23); panel_5.add(webbox);footballbox=newJCheckBox("足球");footballbox.setBounds(6,41,66,23); panel_5.add(footballbox);basketballbox=newJCheckBox("籃球");basketballbox.setBounds(82,41,66,23); panel_5.add(basketballbox);volleyballbox=newJCheckBox("排球");volleyballbox.setBounds(160,41,66,23); panel_5.add(volleyballbox); JPanelpanel_6=newJPanel(); panel_6.setBorder(newSoftBevelBorder(BevelBorder.LOWERED,null,null,null,null));panel_4.add(panel_6); panel_6.setLayout(null);xueshibox=newJCheckBox("學(xué)士");xueshibox.setBounds(16,16,75,23); panel_6.add(xueshibox);boshibox=newJCheckBox("博士");boshibox.setBounds(16,49,83,23); panel_6.add(boshibox);shuoshibox=newJCheckBox("碩士");shuoshibox.setBounds(111,16,75,23); panel_6.add(shuoshibox);qitabox=newJCheckBox("其他");qitabox.setBounds(111,49,111,23); panel_6.add(qitabox);nametext.setEnabled(false);address1test.setEnabled(false);address2test.setEnabled(false);emailtest.setEnabled(false); JLabellblNewLabel_1=newJLabel("選擇動(dòng)作"); lblNewLabel_1.setBounds(16,6,61,16); panel.add(lblNewLabel_1); JLabellblNewLabel_2=newJLabel("名片詳細(xì)信息"); lblNewLabel_2.setBounds(194,6,84,16); panel.add(lblNewLabel_2); JLabellblNewLabel_3=newJLabel("名片附加信息"); lblNewLabel_3.setBounds(191,214,87,16); panel.add(lblNewLabel_3); JLabellblNewLabel_4=newJLabel("名片列表"); lblNewLabel_4.setBounds(16,105,61,16); panel.add(lblNewLabel_4); }publicArrayList<PersonInf>items=newArrayList<>();//當(dāng)點(diǎn)擊添加按鈕時(shí),將文本編輯框及多項(xiàng)選擇框中的信息保存到新建的personinf類中//并且將每個(gè)新建的personinf放到Arraylist中,只將名字顯示到list中classaddmessagebuttonlistenerimplementsActionListener {@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubif(e.getSource()==addmessagebutton) { System.out.println("youaddaddmessagebutton"); Stringdance=null; Stringsing=null; Stringweb=null; Stringfootball=null; Stringbasketball=null; Stringvolleyball=null; Stringxueshi=null; Stringshuoshi=null; Stringboshi=null; Stringqita=null;if(singbox.isSelected()) { sing=singbox.getText(); }if(dancebox.isSelected()) { dance=dancebox.getText(); }if(webbox.isSelected()) { web=webbox.getText(); }if(footballbox.isSelected()) { football=footballbox.getText(); }if(basketballbox.isSelected()) { basketball=basketballbox.getText(); }if(volleyballbox.isSelected()) { volleyball=volleyballbox.getText(); }if(xueshibox.isSelected()) { xueshi=xueshibox.getText(); }if(shuoshibox.isSelected()) { shuoshi=shuoshibox.getText(); }if(boshibox.isSelected()) { boshi=boshibox.getText(); }if(qitabox.isSelected()) { qita=qitabox.getText(); } PersonInfp1=newPersonInf(nametext.getText(),address1test.getText(),address2test.getText(),emailtest.getText(),sing,dance,web,football,basketball,volleyball ,xueshi,shuoshi,boshi,qita);items.add(p1);defaultListModel.addElement("名字為:"+p1.yourname); } } }//此處用于判斷是選擇愛好卡片還是學(xué)歷卡片 classcardchangelistenerimplementsActionListener {@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstub//如果選擇的是愛好,那么顯示愛好的界面if(rdbtnNewRadioButton_2.isSelected()) {mycard.next(panel_4); }//如果是選擇學(xué)歷,那么顯示學(xué)歷的界面if(rdbtnNewRadioButton_3.isSelected()) {mycard.previous(panel_4); } } }//此處是用與判斷名片的兩種狀態(tài),如果是查看已有名片,那么將可編輯區(qū)的屬性設(shè)置為不可編輯//如果是添加現(xiàn)有名片,那么可以編輯classcardseechangelistenerimplementsActionListener {@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubif(e.getSource()==rdbtnNewRadioButton) {nametext.setEnabled(true);address1test.setEnabled(true);address2test.setEnabled(true);emailtest.setEnabled(true);addmessagebutton.setEnabled(true);clearbutton.setEnabled(true);rdbtnNewRadioButton_2.setSelected(true);singbox.setEnabled(true);dancebox.setEnabled(true);webbox.setEnabled(true);footballbox.setEnabled(true);basketballbox.setEnabled(true);volleyballbox.setEnabled(true);xueshibox.setEnabled(true);boshibox.setEnabled(true);shuoshibox.setEnabled(true);qitabox.setEnabled(true); }if(e.getSource()==rdbtnNewRadioButton_1) {nametext.setEnabled(false);address1test.setEnabled(false);address2test.setEnabled(false);emailtest.setEnabled(false);addmessagebutton.setEnabled(false);clearbutton.setEnabled(false);singbox.setSelected(false);dancebox.setSelected(false);webbox.setSelected(false);footballbox.setSelected(false);basketballbox.setSelected(false);volleyballbox.setSelected(false);xueshibox.setSelected(false);shuoshibox.setSelected(false);boshibox.setSelected(false);qitabox.setSelected(false);singbox.setEnabled(false);dancebox.setEnabled(false);webbox.setEnabled(false);footballbox.setEnabled(false);basketballbox.setEnabled(false);volleyballbox.setEnabled(false);xueshibox.setEnabled(false);boshibox.setEnabled(false);shuoshibox.setEnabled(false);qitabox.setEnabled(false); } } }//list中的事件處理器,當(dāng)點(diǎn)擊list中的選項(xiàng)時(shí),將類信息顯示到文本框中//與radiobutton上,此時(shí)處理不可編輯狀態(tài)classSharedListSelectionHandlerimplementsListSelectionListener {@OverridepublicvoidvalueChanged(ListSelectionEvente){//TODOAuto-generatedmethodstub//將學(xué)歷及愛好的編輯狀態(tài)設(shè)為不可編輯singbox.setSelected(false);dancebox.setSelected(false);webbox.setSelected(false);footballbox.setSelected(false);basketballbox.setSelected(false);volleyballbox.setSelected(false);xueshibox.setSelected(false);shuoshibox.setSelected(false);boshibox.setSelected(false);qitabox.setSelected(false);//獲取list的index值intk=0; k=list.getSelectedIndex();//創(chuàng)立PersonInf空類,用于存儲(chǔ)從arraylist中獲取的類對(duì)象 PersonInfpx=null; px=items.get(k);//將此類的信息顯示到相應(yīng)的組件上nametext.setText(px.yourname);address1test.setText(px.address1);address2test.setText(px.address2);emailtest.setText(px.email);if(px.sing!=null) {singbox.setSelected(true); }if(px.dance!=null) {dancebox.setSelected(true); }if(px.web!=null) {webbox.setSelected(true); }if(px.football!=null) {footballbox.setSelected(true); }if(px.basketball!=null) {basketballbox.setSelected(true); }if(px.volleyball!=null) {volleyballbox.setSelected(true); }if(px.xueshi!=null) {xueshibox.setSelected(true); }if(px.shuoshi!=null) {shuoshibox.setSelected(true); }if(px.boshi!=null) {boshibox.setSelected(true); }if(px.qita!=null) {qitabox.setSelected(true); } } }}〔2〕importjava.io.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.util.Date;importjava.text.SimpleDateFormat;publicclassNotepadextendsJFrame{JMenuBarmenub=newJMenuBar();JTextAreatext=newJTextArea();JMenufiles=newJMenu("文件(F)");JMenuedit=newJMenu("編輯(E)");JMenuformats=newJMenu("格式(O)");JMenulook=newJMenu("查看(V)");JMenuhelp=newJMenu("幫助(H)");JMenuItemnewFile=newJMenuItem("新建(N)");JMenuItemopen=newJMenuItem("翻開(O)...");JMenuItemsave=newJMenuItem("保存(S)");JMenuItemsaveAs=newJMenuItem("另存為(A)...");JMenuItempage=newJMenuItem("頁面設(shè)置(U)...");JMenuItemprint=newJMenuItem("打印(P)...");JMenuItemexit=newJMenuItem("退出(X)");JMenuItemundo=newJMenuItem("撤銷(U)");JMenuItemcut=newJMenuItem("剪切(T)");JMenuItemcopy=newJMenuItem("復(fù)制(C)");JMenuItempaste=newJMenuItem("粘貼(P)");JMenuItemselectAll=newJMenuItem("全選(A)");JMenuItemtimeDate=newJMenuItem("時(shí)間/日期(D)");JCheckBoxMenuItemlineWrap=newJCheckBoxMenuItem("自動(dòng)換行(M)");JMenuItemfonts=newJMenuItem("字體...");JMenuItemstate=newJMenuItem("狀態(tài)欄(S)...");JMenuItemlookhelp=newJMenuItem("查看幫助(H)");JMenuItemabout=newJMenuItem("關(guān)于記事本(A)");JFrameth=this;Stringname;StringopenedPath=null;booleanopened=false;booleanreworked=false;//初始化窗體Notepad(Stringname){super(name);=name;intx,y;Dimensionsize=Toolkit.getDefaultToolkit().getScreenSize();x=(size.width-600)/2;y=(size.height-400)/2;setSize(600,400);setLocation(x,y);//讓程序界面顯示在屏幕中央setMinimumSize(newDimension(250,150));setDefaultCloseOperation(EXIT_ON_CLOSE);}//初始化布局voidinit(){//為控件添加助記符files.setMnemonic('F');edit.setMnemonic('E');formats.setMnemonic('O');help.setMnemonic('H');newFile.setMnemonic('N');open.setMnemonic('O');save.setMnemonic('S');saveAs.setMnemonic('A');page.setMnemonic('U');exit.setMnemonic('X');undo.setMnemonic('U');cut.setMnemonic('T');copy.setMnemonic('C');paste.setMnemonic('P');selectAll.setMnemonic('A');timeDate.setMnemonic('D');lineWrap.setMnemonic('M');lookhelp.setMnemonic('H');about.setMnemonic('A');//為控件添加快捷鍵newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));print.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,InputEvent.CTRL_MASK));cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));timeDate.setAccelerator(KeyStroke.getKeyStroke("F5"));//將菜單項(xiàng)添加到菜單中files.add(newFile);files.add(open);files.add(save);files.add(saveAs);files.add(page);files.add(print);files.addSeparator();files.add(exit);edit.add(undo);edit.addSeparator();edit.add(cut);edit.add(copy);edit.add(paste);edit.addSeparator();edit.add(selectAll);edit.add(timeDate);formats.add(lineWrap);formats.add(fonts);look.add(state);help.add(lookhelp);help.add(about);menub.add(files);menub.add(edit);menub.add(formats);menub.add(look);menub.add(help);setJMenuBar(menub);getContentPane().add(newJScrollPane(text));//為控件添加事件偵聽器Listenlisten=newListen();Listen1listen1=newListen1();newFile.addActionListener(listen);open.addActionListener(listen);save.addActionListener(listen);saveAs.addActionListener(listen);exit.addActionListener(listen);cut.addActionListener(listen);copy.addActionListener(listen);paste.addActionListener(listen);selectAll.addActionListener(listen);timeDate.addActionListener(listen);lineWrap.addActionListener(listen);lookhelp.addActionListener(listen);about.addActionListener(listen);open.addActionListener(listen1);save.addActionListener(listen1);saveAs.addActionListener(listen1);//暫時(shí)沒有實(shí)現(xiàn)的功能undo.setEnabled(false);fonts.setEnabled(false);state.setEnabled(false);}classListenimplementsActionListener{//實(shí)現(xiàn)用于一般操作的事件偵聽器publicvoidactionPerformed(ActionEvente){Objectsource=e.getSource();if(source==newFile){text.setText("");th.setTitle(name);openedPath=null;opened=false;}elseif(source==ex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建護(hù)坡加固施工方案
- 房屋買賣合同預(yù)售合同
- 中華傳統(tǒng)美文鑒賞教學(xué)方法:古詩解析與創(chuàng)作訓(xùn)練
- 屋面漏水導(dǎo)流施工方案
- 阜陽別墅木屋施工方案
- 接戶線施工方案
- 塔吊安裝專項(xiàng)施工方案
- 漢口閣樓安裝施工方案
- 鍋爐除渣干式排渣施工方案
- 年產(chǎn)12000噸聚羧酸高性能減水劑復(fù)配液及3000噸水泥助磨劑復(fù)配液項(xiàng)目環(huán)評(píng)報(bào)告表
- 2024年全國英語競(jìng)賽《B類英語專業(yè)》初賽試題真題及答案
- 小學(xué)生中國舞課件大全
- 2025年南京信息職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫完整
- 《Spring框架》教學(xué)課件
- 2025年中考英語閱讀訓(xùn)練:熱點(diǎn)-電影《哪吒》(含答案)
- 2025年中考英語時(shí)文閱讀 6篇有關(guān)電影哪吒2和 DeepSeek的英語閱讀(含答案)
- 客戶溝通技巧與客戶投訴處理培訓(xùn)課件
- 完整版臨時(shí)用水用電施工方案
- 江蘇省南通市2025屆高三第一次調(diào)研測(cè)試數(shù)學(xué)試題(南通一模)(含答案)
- 【課件】進(jìn)出口貨物報(bào)關(guān)單填制
- Codesys培訓(xùn)課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論