版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Good is good, but better carries it.精益求精,善益求善。javaGUI開發(fā)初學(xué)經(jīng)典案例-Java實(shí)驗(yàn)三實(shí)驗(yàn)報(bào)告利用Applet畫圖:importjava.applet.Applet;importjava.awt.Graphics;importjava.awt.Polygon;publicclassApplet2extendsAppletpublicvoidpaint(Graphicsg)intxCenter=60;intyCenter=100;intradius=30;Polygonpolygon=newPolygon();polygon.addPoint(
2、xCenter+radius,yCenter);polygon.addPoint(int)(xCenter+radius*Math.cos(2*Math.PI/6),(int)(yCenter+radius*Math.sin(2*Math.PI/6);polygon.addPoint(int)(xCenter+radius*Math.cos(2*2*Math.PI/6),(int)(yCenter+radius*Math.sin(2*2*Math.PI/6);polygon.addPoint(int)(xCenter+radius*Math.cos(3*2*Math.PI/6),(int)(y
3、Center+radius*Math.sin(3*2*Math.PI/6);polygon.addPoint(int)(xCenter+radius*Math.cos(4*2*Math.PI/6),(int)(yCenter+radius*Math.sin(4*2*Math.PI/6);polygon.addPoint(int)(xCenter+radius*Math.cos(5*2*Math.PI/6),(int)(yCenter+radius*Math.sin(5*2*Math.PI/6);g.drawPolygon(polygon);/畫六邊形g.drawLine(5,5,50,50);
4、/畫直線g.drawRect(60,5,40,50);/畫矩形g.drawOval(120,5,50,50);/畫圓形g.drawOval(120,65,60,40);/畫橢圓GUI:編程包含一個(gè)標(biāo)簽和一個(gè)按鈕,單擊按鈕時(shí),標(biāo)簽的內(nèi)容在“你好”和“再見”之間切換。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassSwitchextendsJFrameimplementsActionListenerJLabell;JButtonb;publicSwitch()l=newJLabel(你好);b=newJB
5、utton(切換);b.addActionListener(this);setLayout(newFlowLayout();add(l);add(b);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(600,200);setVisible(true);publicvoidactionPerformed(ActionEvente)if(l.getText().equals(你好)l.setText(再見);elsel.setText(你好);publicstaticvoidmain(Stringargs)newSwitch();編程包
6、含一個(gè)文本框和一個(gè)文本區(qū)域,文本框內(nèi)容改變時(shí),將文本框中的內(nèi)容顯示在文本區(qū)域中;在文本框中按回車鍵時(shí),清空文本區(qū)域的內(nèi)容。importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JTextArea;importjavax.swing.JTextField;importjavax.swing.WindowConstants;importjavax.swing.event.DocumentEvent;importjavax.s
7、wing.event.DocumentListener;importjavax.swing.text.BadLocationException;importjavax.swing.text.Document;importjavax.swing.text.PlainDocument;publicclasstext2extendsjavax.swing.JFrameprivateJTextFieldinput;privateJTextAreaoutput;publicstaticvoidmain(Stringargs)text2inst=newtext2();inst.setLocationRel
8、ativeTo(null);inst.setVisible(true);publictext2()super();initGUI();privatevoidinitGUI()setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);input=newJTextField();getContentPane().add(input,BorderLayout.NORTH);input.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventevt)/
9、這句話就是讓文本域中顯示文本框內(nèi)容output.setText(););PlainDocumentdoc=(PlainDocument)input.getDocument();doc.addDocumentListener(newDocumentListener()publicvoidchangedUpdate(DocumentEvente)publicvoidinsertUpdate(DocumentEvente)try/這里進(jìn)行同步處理Documentdoc=e.getDocument();intoffset=e.getOffset();Stringtext=doc.getText(off
10、set,e.getLength();Documentadoc=output.getDocument();adoc.insertString(adoc.getLength(),text,null);catch(BadLocationExceptione1)e1.printStackTrace();publicvoidremoveUpdate(DocumentEvente);output=newJTextArea();getContentPane().add(output,BorderLayout.CENTER);output.setLineWrap(true);pack();setSize(40
11、0,300);編程包含一個(gè)復(fù)選按鈕和一個(gè)普通按鈕,復(fù)選按鈕選中時(shí),普通按鈕的背景色為青色,未選中時(shí)為灰色。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassbcolorextendsJFrameimplementsActionListenerJCheckBoxch;JButtonb1;publicbcolor()setSize(400,300);setLayout(newFlowLayout();b1=newJButton(測(cè)試);ch=newJCheckBox(改變顏色);add(b1);add(ch
12、);ch.addActionListener(this);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);publicvoidactionPerformed(ActionEvente)if(e.getSource().equals(ch)if(ch.isSelected()b1.setBackground(Color.green);elseb1.setBackground(Color.gray);publicstaticvoidmain(Stringargs)newbcolor();4、編程包含一個(gè)單選按鈕組和一個(gè)
13、普通按鈕,單選按鈕組中包含三個(gè)單選,文本說(shuō)明分別為“普通”、“黑體”和“斜體”。選擇文本標(biāo)簽為“普通”的單選按鈕時(shí),普通按鈕中的文字為普通字體,選擇文本標(biāo)簽為“黑體”的按鈕時(shí),普通按鈕中的文字的字體為黑體,選擇文本標(biāo)簽為“斜體”的單選按鈕時(shí),普通按鈕中的文字的字體為斜體。importjava.awt.Font;importjava.awt.GridLayout;importjavax.swing.ButtonGroup;importjavax.swing.JFrame;importjavax.swing.JRadioButton;importjavax.swing.JButton;import
14、java.awt.event.*;classtest4extendsJFrameJRadioButtona1,a2,a3;JButtonqd;test4()setLayout(newGridLayout(5,1);a1=newJRadioButton(楷體,true);a2=newJRadioButton(黑體,true);a3=newJRadioButton(斜體,true);qd=newJButton(改變字體);add(a1);add(a2);add(a3);add(qd);ButtonGroupbg=newButtonGroup();bg.add(a1);bg.add(a2);bg.a
15、dd(a3);bg.add(qd);setVisible(true);a1.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)if(a1.isSelected()qd.setFont(newFont(楷體,Font.PLAIN,Integer.parseInt(16););a2.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)if(a2.isSelected()qd.setFont(newF
16、ont(黑體,Font.PLAIN,Integer.parseInt(16););a3.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)if(a3.isSelected()qd.setFont(newFont(斜體,Font.PLAIN,Integer.parseInt(16););publicstaticvoidmain(Stringargs)test4q=newtest4();q.setTitle(單選);q.setSize(300,400);q.setLocation(300,300)
17、;q.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);q.setVisible(true);5、編程包含一個(gè)下拉列表和一個(gè)按鈕,下拉列表中有10、14、18三個(gè)選項(xiàng)。選擇10時(shí),按鈕中文字的字號(hào)為10,選擇14時(shí),按鈕中文字的字號(hào)為14,選擇18時(shí),按鈕中文字的字號(hào)為18。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassJComboBox8implementsItemListenerStringfontsize=12,14,16,18,20,22,24,2
18、6,28;Fontfont=null;JComboBoxcombo=null;JButtonlabel=null;publicJComboBox8()JFramef=newJFrame(JComboBox);ContainercontentPane=f.getContentPane();/contentPane.setLayout(newGridLayout(2,1);contentPane.setLayout(newFlowLayout();label=newJButton(改變字體);font=newFont(SansSerif,Font.PLAIN,12);label.setFont(f
19、ont);combo=newJComboBox(fontsize);combo.setBorder(BorderFactory.createTitledBorder(請(qǐng)選擇你要的文字大小:);combo.addItemListener(this);contentPane.add(label);contentPane.add(combo);f.pack();f.setVisible(true);f.setSize(200,150);f.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)System.e
20、xit(0););publicstaticvoidmain(Stringargs)newJComboBox8();publicvoiditemStateChanged(ItemEvente)/ItemListener界面只有itemStateChanged()一個(gè)方法,在此實(shí)作它。if(e.getStateChange()=ItemEvent.SELECTED)/當(dāng)用戶的選擇改變時(shí),則在JLabel上會(huì)顯示出目前字形大小信息.intfontsize=0;Stringtmp=(String)combo.getSelectedItem();fontsize=Integer.parseInt(tmp
21、);font=newFont(SansSerif,Font.PLAIN,fontsize);label.setFont(font);label.setText(改變字體+fontsize);6、編程包含一個(gè)列表和兩個(gè)標(biāo)簽,在第一個(gè)標(biāo)簽中顯示列表中被雙擊的內(nèi)容,在第二個(gè)標(biāo)簽中顯示列表中被選中的所有選項(xiàng)的內(nèi)容。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;/由于ListSelectionEvent是swing的事件,不是awt的事件,因此我們必須import/javax.s
22、wing.event.*。publicclassJList7implementsListSelectionListenerJListlist=null;JLabellabel=null;Strings=美國(guó),日本,大陸,英國(guó),法國(guó),意大利,澳洲,韓國(guó);publicJList7()JFramef=newJFrame(JList);ContainercontentPane=f.getContentPane();contentPane.setLayout(newBorderLayout();label=newJLabel();list=newJList(s);list.setVisibleRowCo
23、unt(5);list.setBorder(BorderFactory.createTitledBorder(您最喜歡到哪個(gè)國(guó)家玩呢?);list.addListSelectionListener(this);contentPane.add(label,BorderLayout.NORTH);contentPane.add(newJScrollPane(list),BorderLayout.CENTER);f.pack();f.setVisible(true);f.addWindowListener(newWindowAdapter()publicvoidwindowClosing(Windo
24、wEvente)System.exit(0););publicstaticvoidmain(Stringargs)newJList7();publicvoidvalueChanged(ListSelectionEvente)inttmp=0;Stringstmp=您目前選?。?intindex=list.getSelectedIndices();/利用JList類所提供的getSelectedIndices()方法可得到用戶所選取的所有for(inti=0;iindex.length;i+)/index值,這些index值由一個(gè)intarray返回.tmp=indexi;stmp=stmp+s
25、tmp+;label.setText(stmp);7、編程確定當(dāng)前鼠標(biāo)的位置坐標(biāo)。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classFrame5extendsJFrameimplementsMouseMotionListenerJLabellb;Frame5(Strings)super(s);setBounds(100,100,400,300);lb=newJLabel(當(dāng)前鼠標(biāo)的位置是:);add(lb);addMouseMotionListener(this);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);publicvoidmouseDragged(MouseEvente)publicvoidmouseMoved(MouseEvente)if(e.getSource()=this)lb.setText(當(dāng)前鼠標(biāo)位置是:(+e.getX()+,+e.getY()+);publicclassTest45publicstaticvoidmain(Stringargs)Frame5a=newFrame5(確定鼠標(biāo)位置);8、編程創(chuàng)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《延安大學(xué)研究生》課件
- 幼兒園周四營(yíng)養(yǎng)食譜
- 《爆管應(yīng)急處理預(yù)案》課件
- 《汽車回收再生服務(wù)》課件
- 教育行業(yè)前臺(tái)服務(wù)總結(jié)
- 醫(yī)療行業(yè)前臺(tái)工作體會(huì)
- 財(cái)務(wù)工作成長(zhǎng)心得
- 康復(fù)閱讀護(hù)士的工作總結(jié)
- 客戶信用評(píng)估總結(jié)
- 《淺談酒店市場(chǎng)營(yíng)銷》課件
- GB/T 19228.1-2024不銹鋼卡壓式管件組件第1部分:卡壓式管件
- CRF病例報(bào)告表模板
- 路燈安裝施工檢驗(yàn)批質(zhì)量檢驗(yàn)記錄表
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫(kù)380題(含答案)
- 2023年江蘇省五年制專轉(zhuǎn)本英語(yǔ)統(tǒng)考真題(試卷+答案)
- 貴州省貴陽(yáng)市英語(yǔ)小學(xué)六年級(jí)上學(xué)期試卷及答案指導(dǎo)(2024年)
- 2024年輕質(zhì)隔墻板采購(gòu)安裝合同
- Unit 8 The Spring Festival Part A (教學(xué)設(shè)計(jì))-2024-2025學(xué)年閩教版英語(yǔ)四年級(jí)上冊(cè)
- 人教版四年級(jí)上冊(cè)數(shù)學(xué)【選擇題】專項(xiàng)練習(xí)100題附答案
- 部編新人教版小學(xué)語(yǔ)文6六年級(jí)上冊(cè)(全冊(cè))教案設(shè)計(jì)
- 山東省濟(jì)南市2023-2024學(xué)年高二年級(jí)上冊(cè)1月期末英語(yǔ)試題(解析版)
評(píng)論
0/150
提交評(píng)論