華北電力大學(xué)教學(xué)用ppt04圖形用戶界面設(shè)計(jì)(3)Swing常用組件_第1頁(yè)
華北電力大學(xué)教學(xué)用ppt04圖形用戶界面設(shè)計(jì)(3)Swing常用組件_第2頁(yè)
華北電力大學(xué)教學(xué)用ppt04圖形用戶界面設(shè)計(jì)(3)Swing常用組件_第3頁(yè)
華北電力大學(xué)教學(xué)用ppt04圖形用戶界面設(shè)計(jì)(3)Swing常用組件_第4頁(yè)
華北電力大學(xué)教學(xué)用ppt04圖形用戶界面設(shè)計(jì)(3)Swing常用組件_第5頁(yè)
已閱讀5頁(yè),還剩70頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Swing常用組件NCEPU編寫一個(gè)計(jì)算器

所需要的知識(shí)點(diǎn)常用組件和容器的使用方法及功能AWT事件處理模型例Swing

中的容器頂級(jí)容器:一般是一個(gè)頂層窗口(框架)JFrame:用于框架窗口的類,應(yīng)用程序至少使用一個(gè)框架窗口。JDialog:用于對(duì)話框的類。JApplet:用于使用Swing

組件的Java

Applet的類。中間容器:需要包含在頂層容器中使用的容器。JPanel:面板,是最靈活、最常用的中間容器。JScrollPane:與JPanel類似,但還可在大的組件或可擴(kuò)展組件周圍提供滾動(dòng)條。JTabbedPane:包含多個(gè)組件,但一次只顯示一個(gè)組件。用戶可在組件之間方便地切換。JToolBar:按行或列排列一組組件(通常是按鈕)。與AWT組件不同,Swing組件不能直接添加到頂層容器中,它必須添加到一個(gè)與Swing頂層容器相關(guān)聯(lián)的內(nèi)容面板(contentpane)上。JFrame的使用JFrame的使用向JFrame中添加組件的兩種方式之一:用getContentPane()方法獲得JFrame的內(nèi)容面板,再對(duì)其加入組件:

frame.getContentPane().add(childComponent)在J2SE5.0中,我們可以直接添加部件到最高級(jí)的Swing容器,也可以直接在容器內(nèi)設(shè)置布局管理和刪除部件。這個(gè)變化允許我們可以省去調(diào)用getContentPane()而直接在容器內(nèi)應(yīng)用add(),setLayout()和remove()。然而,還是不能忽略ContentPane,比方說(shuō)setBackground,需要用fr.getContentPane().setBackground(Color.blue)JFrame的使用當(dāng)你創(chuàng)建一個(gè)JFrame的時(shí)候JFramejf=newJFrame();在構(gòu)造方法JFrame()內(nèi)部會(huì)給jf默認(rèn)添加一個(gè)rootPane。jf.setBackground(Color.blue);jf.getContentPane().setBackground(Color.black);NCEPUimportjavax.swing.*;importjava.awt.*;publicclassFrameTestextendsJFrame{FrameTest(){super("Test");setBackground(Color.BLACK);setLayout(newGridLayout(6,6,2,2));//1.4中問(wèn)題1for(inti=0;i<36;i++){JPaneljPanel=newJPanel();jPanel.setBackground(newColor((int)(Math.random()*16777215)));add(jPanel);//1.4中問(wèn)題2}setSize(400,400);setVisible(true);}publicstaticvoidmain(String[]args){newFrameTest();}}

getContentPane().setBackground(Color.BLACK);JFrame的使用向JFrame中添加組件的兩種方式之二:把組件添加到Jpanel之類的中間容器中,用setContentPane()方法把該容器置為JFrame的內(nèi)容面板:

JpanelcontentPane=newJpanel();

……//把其它組件添加到Jpanel中;

frame.setContentPane(contentPane);Swing常用容器—

JPanel的使用JPanel面板是容器組件,沒(méi)有標(biāo)題,不能獨(dú)立存在。實(shí)例化以后必須使用Container類的add方法裝入到Window對(duì)象或Frame對(duì)象中??捎胘avax.swing.BorderFactory類中的方法獲得importjavax.swing.*;importjava.awt.*;importjava.awt.image.BufferedImage;importjavax.imageio.ImageIO;classGUIDemo1{ publicstaticvoidmain(String[]args)throwsException {JFramef=newJFrame("第一個(gè)Java窗口"); f.setSize(300,200);BufferedImageimage=ImageIO.read(f.getClass().getResource("/MPj.jpg"));f.setIconImage(image);//設(shè)置圖標(biāo)

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setVisible(true);//設(shè)置容器可見性f.setResizable(false);f.setLocationRelativeTo(null);

JPanelp=newJPanel(); p.setBackground(Color.BLUE); f.setLayout(null); p.setSize(100,100); f.getContentPane().add(p); }}NCEPUSwing的常用組件—JLabelJLabel(標(biāo)簽)是用戶只能查看不能修改的文本/圖像顯示區(qū)域。

NCEPUSwing的常用組件--JTextFieldJTextField(單行文本域)是一個(gè)單行條形文本區(qū),能夠接收輸入、顯示輸出。NCEPU獲得文本域的內(nèi)容x=Integer.parseInt(text1.getText().trim());

重新設(shè)置文本域的內(nèi)容resultText.setText(s);

Swing的常用組件--JTextFieldsetText(Strings)設(shè)置文本框中的文本getText()獲取文本框中的文本setEditable(booleanb)指定文本框的可編輯性。創(chuàng)建的文本框默認(rèn)為可編輯的NCEPU獲取兩個(gè)文本域的輸入并求和,然后顯示在第三個(gè)文本域中。Swing的常用組件——JTextFieldimportjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassTFMath{ publicstaticvoidmain(String[]args){ newTFFrame().launchFrame(); }}classTFFrameextendsJFrame{ JTextFieldnum1,num2,num3; publicvoidlaunchFrame(){ num1=newJTextField(10); num2=newJTextField(10); num3=newJTextField(15); JLabellblPlus=newJLabel("+"); JButtonbtnEqual=newJButton("="); btnEqual.addActionListener(newMyMonitor()); setLayout(newFlowLayout()); add(num1); add(lblPlus); add(num2); add(btnEqual); add(num3); pack(); setVisible(true); }

Swing常用的組件——文本域

privateclassMyMonitorimplementsActionListener{ publicvoidactionPerformed(ActionEvente){ intn1=Integer.parseInt(num1.getText()); intn2=Integer.parseInt(num2.getText()); num3.setText(""+(n1+n2)); } }

}NCEPUSwing的常用組件--JPasswordFieldJPasswordField(口令框)接受用戶的輸入,但不會(huì)真正顯示出來(lái),而是顯示回顯符。密碼域JPasswordFieldimportjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassTFPassword{ publicstaticvoidmain(String[]args){ newTFFrame2(); }}密碼域JPasswordFieldclassTFFrame2extendsJFrame{ TFFrame2() { JPasswordFieldpf=newJPasswordField(); add(pf); pf.addActionListener(newTFActionListener2()); pack(); setVisible(true); }}密碼域JPasswordFieldclassTFActionListener2implementsActionListener{ publicvoidactionPerformed(ActionEvente) { JPasswordFieldpf=(JPasswordField)e.getSource(); System.out.println(pf.getText()); tf.setText(""); }}NCEPU密碼域JPasswordFieldNCEPUSwing的常用組件--JPasswordField實(shí)戰(zhàn):實(shí)現(xiàn)上面的圖形用戶界面。NCEPUSwing的常用組件--JTextAreaJTextArea(多行文本框)可以輸入或輸出多行文本。設(shè)定是否可編輯

setEditable(Booleanb)JTextArea(Stringtext,introws,intcolumns)指定文本創(chuàng)建文本區(qū),指定行數(shù)和列數(shù)NCEPU換行方式:手動(dòng)換行自動(dòng)換行:通過(guò)設(shè)置換行屬性來(lái)避免手動(dòng)換行。增加滾動(dòng)條:通過(guò)把文本區(qū)插入到一個(gè)滾動(dòng)窗格中來(lái)實(shí)現(xiàn)。這也是給其他組件添加滾動(dòng)條的方法。textArea.setLineWrap(true);JScrollPanescrollPane=newJScrollPane(textArea);Swing的常用組件--JTextAreaNCEPU文本區(qū)的三種顯示方式Swing的常用組件--JTextAreaNCEPU例:創(chuàng)建包含文本區(qū)、文本框和“提交”按鈕的窗口。

在文本區(qū)中輸入文字,單擊“提交”按鈕,文本

框中會(huì)出現(xiàn)同樣的文字。Swing的常用組件--JTextAreaimportjava.awt.*;importjavax.swing.*;classJTextAreaExextendsJFrame{JTextAreata;JTextFieldt;JButtonb;JTextAreaEx(){setSize(400,250);setLayout(newFlowLayout());Containerc=getContentPane();setVisible(true);ta=newJTextArea(5,10);//創(chuàng)建文本區(qū)、文本框和按鈕

ta.setLineWrap(true);//自動(dòng)換行,只添加垂直滾動(dòng)條

JScrollPanescrollPane=newJScrollPane(ta);//加滾動(dòng)條

scrollPane.setBorder(BorderFactory.createLoweredBevelBorder());//設(shè)置邊界

c.add(scrollPane);t=newJTextField(10);b=newJButton("提交");c.add(b);c.add(t);pack();}

publicstaticvoidmain(String[]args){JTextAreaExtae=newJTextAreaEx();}publicvoidactionPerformed(ActionEvente){ t.setText(ta.getText()); }}NCEPU其他Swing組件的使用NCEPUSwing的常用組件—復(fù)選框JCheckBoxJCheckBox(復(fù)選框)有選中和未選中兩種狀態(tài),允許用戶從一組選項(xiàng)中進(jìn)行多個(gè)選擇。

設(shè)置復(fù)選框的文本

setText獲取復(fù)選框的文本

getTextNCEPU常用的構(gòu)造方法有:JCheckBox()JCheckBox(Iconicon)JCheckBox(Iconicon,booleanselected)JCheckBox(Stringtext)JCheckBox(Stringtext,booleanselected)JCheckBox(Stringtext,Iconicon)JCheckBox(Stringtext,Iconicon,booleanselected)Swing的常用組件—復(fù)選框JCheckBoxNCEPUJCheckBox的相關(guān)事件類事件響應(yīng)用戶點(diǎn)擊復(fù)選框使其選中狀態(tài)發(fā)生變化時(shí)會(huì)引發(fā)

ItemEvent事件。實(shí)現(xiàn)ItemListener接口的itemStateChanged()方法。publicvoidaddItemListener(ItemListenerl)

設(shè)置復(fù)選框的事件監(jiān)聽器。查閱JDK文檔,學(xué)習(xí)ItemEvent類的常用方法。NCEPU例題:創(chuàng)建如下窗口,包含三個(gè)復(fù)選框和一個(gè)面板,選中某一復(fù)選框后,面板的背景色就變成相應(yīng)的顏色。Swing的常用組件—復(fù)選框JCheckBoximportjava.awt.*; importjava.awt.event.*;publicclassCheckBoxExpimplementsItemListener{ Framef;Panelp1,p2; Checkboxck1,ck2,ck3; publicvoiddisplay() {f=newFrame("復(fù)選框練習(xí)"); ck1=newCheckbox("紅色"); ck2=newCheckbox("黃色"); ck3=newCheckbox("藍(lán)色"); p1=newPanel();p2=newPanel(); f.add(p1,"North");f.add(p2);p1.add(ck1);p1.add(ck2);p1.add(ck3);f.setSize(400,200);f.setVisible(true); ck1.addItemListener(this); ck2.addItemListener(this); ck3.addItemListener(this);}publicvoiditemStateChanged(ItemEvente)

{ if(e.getSource()==ck1) p2.setBackground(Color.red);elseif(e.getSource()==ck2) p2.setBackground(Color.yellow); else p2.setBackground(Color.blue);

} publicstaticvoidmain(Stringargs[]){ newCheckBoxExp().display(); }

}NCEPUSwing常用的組件—單選框JRadioButtonJRadioButton(單選按鈕)通常是成組使用的,可以通過(guò)ButtonGroup類進(jìn)行管理。常用的構(gòu)造方法有:JRadioButton()JRadioButton(Iconicon)JRadioButton(Icon,booleanselected)JRadioButton(Stringtext)JRadioButton(Stringtext,booleanselected)JRadioButton(Stringtext,Iconicon)JRadioButton(Stringtext,Iconicon,booleanselected)NCEPU單選框(JRadioButton)

示例要保證三個(gè)JRadioButton的互斥性應(yīng)該把這三個(gè)控件放到同一個(gè)ButtonGroup中NCEPUSwing的常用組件—組合框JComboBoxJComboBox(組合框)是一種“多選一”的組件,可編輯每項(xiàng)的內(nèi)容,而且每項(xiàng)的內(nèi)容可以是任意類。當(dāng)用戶選取組合框中的某一選擇項(xiàng)時(shí),可激發(fā)ItemEvent事件。NCEPU常用的構(gòu)造方法有:

構(gòu)造函數(shù)使用缺省數(shù)據(jù)模型創(chuàng)建JComboBoxpublicJComboBox()包含指定數(shù)組元素的組合框publicJComboBox(Object[]items)Swing的常用組件—組合框JComboBoxNCEPU創(chuàng)建組合框向組合框?qū)ο罄锛尤霔l目

JComboBoxjobsBox=newJComboBox();jobsBox.addItem("job1");jobsBox.addItem("job2");使用String數(shù)組創(chuàng)建

String[]comboItem={“job1”,”job2”};JComboBoxjobsBox=newJComboBox(comboItem);

對(duì)組合框是否能夠被編輯也可以進(jìn)行設(shè)置。

jobsBox.setEditable(true);Swing的常用組件—組合框JComboBoxNCEPU組合框的內(nèi)容可以動(dòng)態(tài)變化addItem方法:把條目添加到列表的末尾;insertItermAt方法:將新條目添加到列表的任何位置;removeItem方法和removeItemAt方法:刪除指定條目;removeAllItems方法:刪除所有條目。Swing的常用組件—組合框JComboBoxjobsBox.insertItermAt(“job7”,6);//在第7個(gè)位置增加“job7”條目。jobsBox.removeItem(“job7”);//刪除“job7”條目。jobsBox.removeItemAt(5);//刪除第6個(gè)條目,即“job6”。jobsBox.removeAllItems();//刪除所有條目。NCEPU當(dāng)選擇組合框的條目時(shí),會(huì)產(chǎn)生單擊事件(ActionEvent)和項(xiàng)事件(ItemEvent)。組合框事件處理方法說(shuō)明

publicObjectgetSelectedItem()返回當(dāng)前選中項(xiàng)。注意類型。

publicintgetSelectedIndex()返回選中項(xiàng)的位置。列表中第一項(xiàng)的位置是0。NCEPU組合框(JComboBox)常用的事件處理方式NCEPUSwing的常用組件—列表框(JList)

JList(列表框)向用戶顯示一組選項(xiàng)構(gòu)造方法publicJList()

構(gòu)造空列表publicJList(Object[]

listData)

以數(shù)組中的元素構(gòu)造一個(gè)JList。

String[]fontSize={“小四”,“四號(hào)”,“小五”,“五號(hào)”};JListlist=newJList(fontSize);publicJList(Vector<?>

listData)

以Vector中的元素構(gòu)造一個(gè)

JList。NCEPU建立列表框前,需要指定所顯示的列表?xiàng)l目:String[]courses={“Math”,“English”,“Physics”,“Chemic”,“Biology”,“Politics”};JListcourseList=newJList(courses);如果列表框比較長(zhǎng),而顯示屏幕比較小,可以設(shè)置列表中顯示的行數(shù),同時(shí)使用滾動(dòng)條:courseList.setVisibleRowCount(4);JScrollPanelistScrollPane=newJScrollPane(courseList);Swing的常用組件—列表框(JList)

NCEPU選擇列表框中的多個(gè)條目有兩種方式:連續(xù)條目選擇和間斷條目選擇。用戶選擇列表框條目時(shí),列表框就會(huì)產(chǎn)生選擇事件。將列表選擇監(jiān)聽器ListSelectionListener添加給列表組件,并在該監(jiān)聽器中實(shí)現(xiàn)valueChanged方法:courseList.addListSelectionListener(newcourseListener());...classcourseListenerimplementsListSelectionListener{ publicvoidvalueChanged(ListSelectionEventevent) {...}}獲得用戶所選擇的列表框條目以及條目所在的索引號(hào)需要使用getSelectedValues方法和getSelectedIndices方法:Object[]selectedCourses=courseList.getSelectedValues();int[]selectedIndexCourses=courseList.getSelectedIndices();Swing的常用組件—列表框(JList)

NCEPUJList(列表框)可以選擇一項(xiàng)或多項(xiàng)。列表框查閱JDK文檔,學(xué)習(xí)JList類的常用方法及相關(guān)事件。Swing的常用組件—列表框(JList)

NCEPU練習(xí)NCEPU例:創(chuàng)建一個(gè)包含列表框和文本框的窗口,要求單擊或雙擊列表框中某一選項(xiàng)后,文本框中顯示該選項(xiàng)。awt的常用組件—列表框(List)

importjava.awt.*;importjava.awt.event.*;publicclassList1implementsActionListener,ItemListener{Framef;TextFieldtf1;Listls1;

publicvoiddisplay(){ f=newFrame("列表框練習(xí)"); f.setSize(300,200); f.setLocation(300,300); f.setBackground(Color.lightGray); f.setLayout(newFlowLayout()); tf1=newTextField(10);f.add(tf1);

ls1=newList();f.add(ls1); ls1.add("北京"); ls1.add("上海");ls1.add("南京"); ls1.add("西安");f.setVisible(true);ls1.addActionListener(this);

ls1.addItemListener(this);}

publicvoidactionPerformed(ActionEvente){ tf1.setText(ls1.getSelectedItem());}

publicvoiditemStateChanged(ItemEvente){ tf1.setText(ls1.getSelectedItem());}

publicstaticvoidmain(Stringarg[]){(newList1()).display();}}NCEPUSwing的常用組件—菜單JMenuItem類型有三種:JMenuItemJCheckBoxMenuItemJRadioButtonMenuItemJMenuBarJMenuJMenuItemNCEPU菜單的分類菜單條式菜單(下拉菜單)彈出式菜單菜單組件與其他組件不同,不能放入普通的容器,也無(wú)法用布局管理器對(duì)其加以控制,只能被放入菜單容器中。Swing的常用組件—菜單NCEPU下拉式菜單

下拉式菜單主要由三部分組成菜單條(JMenuBar)菜單(JMenu)菜單項(xiàng)(JMenuItem)。菜單欄菜單條菜單菜單項(xiàng)NCEPU創(chuàng)建菜單欄

JMenuBarmenuBar=newJMenuBar();setJMenuBar(menuBar);創(chuàng)建菜單JMenufileMenu=newJMenu("File");創(chuàng)建子菜單。JMenuoptionMenu=newJMenu("Option");創(chuàng)建菜單項(xiàng)

JMenuItemnewfile=newJMenuItem("新建");創(chuàng)建下拉式菜單將菜單項(xiàng)加入到子菜單或菜單中。將子菜單加入到菜單中。將菜單加入到菜單欄中。創(chuàng)建菜單的步驟importjavax.swing.*;importjava.awt.event.*;publicclassMenuDemoextendsJFrameimplementsActionListener{ JTextAreatf=newJTextArea(); JMenuBarmbar=newJMenuBar(); JMenumenu=newJMenu("文件"); JMenuItemnewfile=newJMenuItem("新建"); JMenuItemopen=newJMenuItem("打開"); JMenuItemclose=newJMenuItem("關(guān)閉"); JMenuItemquit=newJMenuItem("退出");

創(chuàng)建菜單的步驟publicMenuDemo(){ super("Menu實(shí)例");newfile.addActionListener(this); open.addActionListener(this); close.addActionListener(this); quit.addActionListener(this);menu.add(newfile);menu.add(open);menu.add(close);menu.addSeparator();menu.add(quit);

mbar.add(menu);setJMenuBar(mbar); add(tf); addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);} }); }

publicvoidactionPerformed(ActionEvente){ if(e.getSource()==newfile)tf.setText("新建文件"); if(e.getSource()==open)tf.setText("打開文件"); if(e.getSource()==close)tf.setText("關(guān)閉文件"); if(e.getSource()==quit)System.exit(0); }publicstaticvoidmain(String[]args){ JFramef=newMenuDemo(); f.setSize(200,200); f.setVisible(true);}}

NCEPU同創(chuàng)建一般的菜單項(xiàng)幾乎一樣,只需注意復(fù)選框和單選按鈕的不同構(gòu)造方法以及單選按鈕組的構(gòu)建:創(chuàng)建單選按鈕菜單項(xiàng)“Forward”,并將“Forward”菜單項(xiàng)加入到“Search”菜單中。ButtonGroupgroup=newButtonGroup();forwardItem=newJRadioButtonMenuItem("Forward");group.add(forwardItem);searchMenu.add(forwardItem);創(chuàng)建復(fù)選框菜單項(xiàng)“ToolBar”,并加入到子菜單中。JCheckBoxMenuItemtoolItem=newJCheckBoxMenuItem("ToolBar");optionMenu.add(toolItem);創(chuàng)建復(fù)選框和單選按鈕菜單項(xiàng)

NCEPU菜單項(xiàng)的使用狀態(tài)菜單項(xiàng)能夠被選取取決于菜單項(xiàng)的啟用和禁用狀態(tài)://初始設(shè)置“Save”菜單項(xiàng)為禁用狀態(tài)。saveItem.setEnabled(false);快捷鍵和加速器快捷鍵顯示為帶有下劃線的字母,加速器則顯示為菜單項(xiàng)旁邊的組合鍵。://設(shè)置菜單的快捷鍵。fileMenu.setMnemonic('F');//設(shè)置“Exit”菜單項(xiàng)的快捷鍵為“T”。JMenuItemexitItem=newJMenuItem("Exit",'T');//設(shè)置“Exit”菜單項(xiàng)的加速器為“Ctrl+T”。exitItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_T,InputEvent.CTRL_MASK));Swing的常用組件—菜單NCEPU彈出式菜單彈出式菜單的創(chuàng)建和菜單的創(chuàng)建基本相同,也需要新建一個(gè)彈出式菜單后再加入菜單項(xiàng)。彈出式菜單。popup=newJPopupMenu();新建彈出式菜單中的“Cut”菜單項(xiàng)和監(jiān)聽器。cutItemPop=newJMenuItem("Cut",'C');popup.add(cutItemPop);Swing的常用組件—菜單NCEPU菜單示例

NCEPU創(chuàng)建菜單欄創(chuàng)建菜單加入到菜單欄中創(chuàng)建菜單項(xiàng)加入到菜單中最后將整個(gè)菜單欄加入到某個(gè)容器中(Frame)事件處理創(chuàng)建菜單的步驟NCEPU創(chuàng)建如下圖所示的帶菜單的窗口,完成相應(yīng)的繪圖功能。NCEPUimportjava.awt.*; importjava.awt.event.*;publicclassMenuExpimplementsActionListener{Framef;MenuBarmyMenuBar;MenumenuDraw,menuHelp;MenuItemitemCircle,itemRect,itemLine;

publicvoiddisplay(){f=newFrame("帶有菜單的窗口");f.setSize(300,300);f.setLocation(300,300);f.setBackground(Color.lightGray);myMenuBar=newMenuBar();menuDraw=newMenu("畫圖");menuHelp=newMenu("幫助");myMenuBar.add(menuDraw);myMenuBar.add(menuHelp);itemCircle=newMenuItem("畫圓");itemRect=newMenuItem("畫矩形");itemLine=newMenuItem("畫線");

NCEPU

menuDraw.add(itemLine);menuDraw.add(itemCircle);menuDraw.add(itemRect);f.setMenuBar(myMenuBar);f.setVisible(true);itemCircle.addActionListener(this);itemRect.addActionListener(this);itemLine.addActionListener(this);}publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()==“畫圓”)

f.getGraphics().drawOval(100,100,150,150); elseif(e.getActionCommand()==“畫矩形”)

f.getGraphics().drawRect(50,100,100,100); elseif(e.getActionCommand()==“畫線”)

f.getGraphics().drawLine(100,100,200,200); }

publicstaticvoidmain(Stringarg[]){(newMenuExp()).display();}NCEPU創(chuàng)建JMenuItem先創(chuàng)建一個(gè)JMenuBar對(duì)象再創(chuàng)建若干個(gè)JMenu對(duì)象添加處理事件添加JMenuItem到JMenu添加JMenu到JMenuBar添加JMenuBar到容器NCEPU先創(chuàng)建一個(gè)JMenuBar對(duì)象再創(chuàng)建若個(gè)JMenu對(duì)象NCEPUSwing常用的組件—對(duì)話框?qū)υ捒蚍譃槟J綄?duì)話框和無(wú)模式對(duì)話框。模式對(duì)話框必須在用戶處理完后才允許用戶與主窗口繼續(xù)進(jìn)行交互。無(wú)模式對(duì)話框允許用戶同時(shí)在對(duì)話框和程序剩余部分中輸入信息。在Swing中,提供了四種簡(jiǎn)單的對(duì)話框:showMessageDialog:顯示一條消息等待用戶點(diǎn)擊OK;showConfirmDialog:顯示一條消息并等待確認(rèn);showOptionDialog:顯示一條消息并等待用戶在一組自定義選項(xiàng)中的選擇;showInputDialog:顯示一條消息并等待用戶的輸入。NCEPU以showConfirmDi

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論