亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java實(shí)現(xiàn)的簡(jiǎn)易記事本

 更新時(shí)間:2015年04月16日 14:41:12   作者:司青  
這篇文章主要介紹了Java實(shí)現(xiàn)的簡(jiǎn)易記事本,較為詳細(xì)的分析了基于java實(shí)現(xiàn)記事本程序的完整過(guò)程,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)的簡(jiǎn)易記事本。分享給大家供大家參考。具體如下:

感覺(jué)這個(gè)沒(méi)有自己以前用Windows API寫(xiě)的好看了。。。

JDK Version : 1.7.0

效果如下圖所示:

源代碼如下:

import java.io.*; 
import java.awt.*; 
import java.awt.event.*; 
/** 
 * The Main Window 
 * @author Neo Smith 
 */ 
class PadFrame extends Frame 
{ 
  private MenuBar mb; 
  private Menu menuFile; 
  private Menu menuEdit; 
  private MenuItem[] miFile; 
  private TextArea ta; 
  final private Frame frame = this; 
  /** 
   * The inner class 
   * Message Handle 
   */ 
  class EventExit implements ActionListener 
  { 
    public void actionPerformed(ActionEvent e)
    { 
      System.exit(0); 
    } 
  } 
  class SystemExit extends WindowAdapter 
  { 
    public void windowClosing(WindowEvent e)
    { 
      System.exit(0); 
    } 
  } 
  class EventMenuClose implements ActionListener
  { 
    public void actionPerformed(ActionEvent e)
    { 
      ta.setText(null); 
    } 
  } 
  class EventOpenFile implements ActionListener
  { 
    public void actionPerformed(ActionEvent e) 
    { 
      //Create the OpenFile Dialog 
      FileDialog dlg = new FileDialog(frame,"Open Files",FileDialog.LOAD);
      dlg.show(); 
       
      String strPath; 
      if((strPath = dlg.getDirectory()) != null) 
      { 
        //get the full path of the selected file
        strPath += dlg.getFile(); 
         
        //open the file 
        try 
        { 
          FileInputStream fis = new FileInputStream(strPath); 
          BufferedInputStream bis = new BufferedInputStream(fis); 
          byte[] buf = new byte[3000]; 
          int len = bis.read(buf); 
           
          ta.append(new String(buf,0,len)); 
          bis.close(); 
        } 
        catch(Exception ex) 
        { 
          ex.printStackTrace(); 
        } 
      } 
    } 
  } 
  /** 
   * Construction Method 
   * Adding Menu and TextArea components 
   * @param strTitle 
   */ 
  public PadFrame(String strTitle) 
  { 
    super(strTitle); 
    this.setLocation(400,200); 
    this.setSize(900, 630); 
     
    //Create the Menu Bar 
    mb = new MenuBar(); 
    menuFile = new Menu("File"); 
    menuEdit = new Menu("Edit"); 
    miFile = new MenuItem[]{new MenuItem("Open"),new MenuItem("Close"),new MenuItem("Exit")}; 
    this.setMenuBar(mb); 
    mb.add(menuFile); 
    mb.add(menuEdit); 
    for(int i = 0 ; i < miFile.length ; ++i) 
    { 
      menuFile.add(miFile[i]); 
    } 
    //Add event handle 
    setMenuEventHandle(new EventExit(),"File",2); 
    setMenuEventHandle(new EventOpenFile(),"File",0); 
    setMenuEventHandle(new EventMenuClose(),"File",1); 
    this.addWindowListener(new SystemExit()); 
     
    //add the TextArea component 
    ta = new TextArea(30,30); 
    this.add(ta); 
  } 
  public void setMenuEventHandle(ActionListener al,String strMenu,int index) 
  { 
    if(strMenu == "File") 
    { 
      miFile[index].addActionListener(al); 
    } 
  } 
  public int getMenuItemAmount(String strMenu) 
  { 
    if("File" == strMenu) 
    { 
      return miFile.length; 
    } 
     
    return -1; 
  } 
  public static void main(String[] args) 
  { 
    PadFrame f = new PadFrame("NotePad"); 
    f.show(); 
  } 
}

希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 深入解析堆排序的算法思想及Java代碼的實(shí)現(xiàn)演示

    深入解析堆排序的算法思想及Java代碼的實(shí)現(xiàn)演示

    堆排序基于二叉堆結(jié)構(gòu)即完全二叉樹(shù),可利用最大堆和最小堆的組建方式來(lái)進(jìn)行排序,這里就來(lái)深入解析堆排序的算法思想及Java代碼的實(shí)現(xiàn)演示
    2016-06-06
  • JAVA設(shè)計(jì)模式之組合模式原理與用法詳解

    JAVA設(shè)計(jì)模式之組合模式原理與用法詳解

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之組合模式,簡(jiǎn)單說(shuō)明了組合模式的原理,并結(jié)合實(shí)例分析了java組合模式的具體用法,需要的朋友可以參考下
    2017-08-08
  • 如何通過(guò)JVM角度談?wù)凧ava的clone操作

    如何通過(guò)JVM角度談?wù)凧ava的clone操作

    java中僅有的創(chuàng)建對(duì)象的兩種方式:①.使用new操作符創(chuàng)建對(duì)象;②.使用clone方法復(fù)制對(duì)象。下面這篇文章主要通過(guò)JVM角度給大家詳細(xì)談?wù)凧ava的clone操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-06-06
  • Spring中的SpringData詳細(xì)說(shuō)明

    Spring中的SpringData詳細(xì)說(shuō)明

    這篇文章主要介紹了Spring中的SpringData詳細(xì)說(shuō)明,Spring Data 是Spring 的一個(gè)子項(xiàng)目, 旨在統(tǒng)一和簡(jiǎn)化對(duì)各類型持久化存儲(chǔ), 而不拘泥于是關(guān)系型數(shù)據(jù)庫(kù)還是NoSQL 數(shù)據(jù)存儲(chǔ),需要的朋友可以參考下
    2023-11-11
  • Java中的線程中斷機(jī)制和LockSupport詳解

    Java中的線程中斷機(jī)制和LockSupport詳解

    這篇文章主要介紹了Java中的線程中斷機(jī)制和LockSupport詳解,在Java中沒(méi)有辦法立即停止一條線程,然而停止線程卻顯得尤為重要,如取消一個(gè)耗時(shí)操作,因此,Java提供了一種用于停止線程的協(xié)商機(jī)制中斷,也即中斷標(biāo)識(shí)協(xié)商機(jī)制,需要的朋友可以參考下
    2023-09-09
  • 微信、支付寶二碼合一掃碼支付實(shí)現(xiàn)思路(java)

    微信、支付寶二碼合一掃碼支付實(shí)現(xiàn)思路(java)

    這篇文章主要為大家詳細(xì)介紹了微信、支付寶二碼合一掃碼支付實(shí)現(xiàn)思路,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • java生成圖片驗(yàn)證碼返回base64圖片信息方式

    java生成圖片驗(yàn)證碼返回base64圖片信息方式

    這篇文章主要介紹了java生成圖片驗(yàn)證碼返回base64圖片信息方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Spring中的EurekaServer啟動(dòng)詳解

    Spring中的EurekaServer啟動(dòng)詳解

    這篇文章主要介紹了Spring中的EurekaServer啟動(dòng)詳解,初始化eureka,包含eureka集群的同步和發(fā)布注冊(cè),這個(gè)方法時(shí)重寫(xiě)ServletContextListener#contextInitialized,是eureka啟動(dòng)的入口了,需要的朋友可以參考下
    2023-11-11
  • SpringBoot基于HttpMessageConverter實(shí)現(xiàn)全局日期格式化

    SpringBoot基于HttpMessageConverter實(shí)現(xiàn)全局日期格式化

    這篇文章主要介紹了SpringBoot基于HttpMessageConverter實(shí)現(xiàn)全局日期格式化,使用Jackson消息轉(zhuǎn)換器,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-12-12
  • Kotlin傳遞可變長(zhǎng)參數(shù)給Java可變參數(shù)實(shí)例代碼

    Kotlin傳遞可變長(zhǎng)參數(shù)給Java可變參數(shù)實(shí)例代碼

    這篇文章主要介紹了Kotlin傳遞可變長(zhǎng)參數(shù)給Java可變參數(shù)實(shí)例代碼,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評(píng)論