GUI介面編程——記事本初級實現__編程

來源:互聯網
上載者:User
GUI編程--初級篇
一.元素介紹
1.JFrame類:

   1)概念:其實力稱為視窗,屬於底層容器,可以與作業系統直接互動。

   2)常用方法:

       a.Jframe()方法建立一個無標題的視窗

       b.Jframe(Strings)方法建立一個標題為s的視窗

       c.Public voidsetVisible(booleanb)設定視窗是否可見

       d.Public void dispose()撤消當前視窗,釋放資源

        e.Public void setDefaultCloseOperation ( int operation) 設定單擊視窗右上方關閉按鈕後程式執行的操作

2.Jmenu類:

   概念:Jmenu類負責建立菜單。

3.JmenuItem類:

   概念:JmenuItem類負責建立嵌入子功能表。 4.JMenuBar類:

   概念:JMenuBar是Jframe的一個子類,Jframe有一個把菜單條放置到視窗中的方法SetMenuBar(JMenuBarbar)。 二.記事本代碼 1.建立DialongDemo類並且繼承JFrame。

import java.awt.event.InputEvent;import javax.swing.*;import com.sun.glass.events.KeyEvent;public class DialongDemo extends JFrame {//定義JMenuBar menuBar;JMenu menu1,menu2,menu3,menu4,menu5;JMenuItem menu11,menu12,menu13,menu14,menu15,menu16,menu17;JMenuItem menu21,menu22,menu23,menu24,menu25,menu26,menu27,menu28,menu29,menu210,menu211;JMenuItem menu31,menu32;JMenuItem menu41;JMenuItem menu51,menu52;public DialongDemo(){//空的構造方法}//帶參的構造方法public DialongDemo(String s,int x,int y,int w,int h){init(s);setBounds(x,y,w,h);setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); }//init方法的實現public void init(String s){setTitle(s);menuBar = new JMenuBar();menu1 = new JMenu("檔案");menu2 = new JMenu("編輯");menu3 = new JMenu("格式");menu4 = new JMenu("查看");menu5 = new JMenu("協助");//將menuBar組件加入到視窗setJMenuBar(menuBar);//將menu1等組件加入到menuBar中menuBar.add(menu1);menuBar.add(menu2);menuBar.add(menu3);menuBar.add(menu4);menuBar.add(menu5);//檔案項menu11 = new JMenuItem("建立");menu12 = new JMenuItem("開啟");menu13 = new JMenuItem("儲存");menu14 = new JMenuItem("另存新檔");menu15 = new JMenuItem("版面設定");menu16 = new JMenuItem("列印");menu17 = new JMenuItem("退出");menu1.add(menu11);menu1.add(menu12);menu1.add(menu13);menu1.add(menu14);menu1.addSeparator(); menu1.add(menu15);menu1.add(menu16);menu1.addSeparator(); menu1.add(menu17);//編輯項menu21 = new JMenuItem("撤銷");menu22 = new JMenuItem("剪貼");menu23 = new JMenuItem("複製");menu24 = new JMenuItem("粘貼");menu25 = new JMenuItem("刪除");menu26 = new JMenuItem("尋找");menu27 = new JMenuItem("尋找下一個");menu28 = new JMenuItem("替換");menu29 = new JMenuItem("轉到");menu210 = new JMenuItem("全選");menu211= new JMenuItem("時間/日期");menu2.add(menu21);menu2.addSeparator();menu2.add(menu22);menu2.add(menu23);menu2.add(menu24);menu2.add(menu25);menu2.addSeparator();menu2.add(menu26);menu2.add(menu27);menu2.add(menu28);menu2.add(menu29);menu2.addSeparator();menu2.add(menu210);menu2.add(menu211);//格式menu31 = new JMenuItem("自動換行");menu32 = new JMenuItem("字型");menu3.add(menu31);menu3.add(menu32);//狀態列menu41=new JMenuItem("狀態列");menu4.add(menu41);//協助menu51 = new JMenuItem("查看協助");menu52 = new JMenuItem("關於記事本");menu5.add(menu51);menu5.addSeparator();menu5.add(menu52);//設定快速鍵ctrl+*menu11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); menu12.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK)); menu13.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK)); menu16.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK)); menu21.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK)); menu22.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK)); menu23.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK)); menu24.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));menu25.setAccelerator(KeyStroke.getKeyStroke("Del"));menu26.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK)); menu27.setAccelerator(KeyStroke.getKeyStroke("F3"));menu28.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK)); menu29.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK)); menu210.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));menu211.setAccelerator(KeyStroke.getKeyStroke("F5"));//文字物件JTextArea area = new JTextArea(1065,570);add(area);}}

2.建立主方法Main來實現

public class Main {public static void main(String[] args) {//調用帶參建構函式DialongDemo dialongDemo=new DialongDemo("建立  文字文件",100,100,1085,635);}}

三.結果展示:





相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.