java GUI(執行個體項目--記事本)

來源:互聯網
上載者:User

標籤:java執行個體小項目   記事本   

//package mymenu;
//java記事本
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class MenuLianXi {
//定義表單
private Frame f;
//定義功能表列
private MenuBar menubar;
//定義文本區
private TextArea textarea;
//定義菜單
private Menu file_menu;
//定義功能表項目
private MenuItem close_Item,open_Item,save_Item;


//定義顯示對話方塊
private FileDialog openDia,saveDia;

//定義一個檔案,用來儲存
private File file;
//定義建構函式
MenuLianXi() {
//在建構函式裡添加init()方法。
init();
}
//定義設定UI的介面的方法。
public void init()
{
//設定表單的基本資料
f=new Frame("我的記事本");
f.setBounds(300,100,650,600);
//f.setLayout(new FlowLayout());

//初始化功能表列
menubar=new MenuBar();

//初始化文本區
textarea=new TextArea();

//初始化菜單
file_menu=new Menu("檔案");

//初始化功能表項目
open_Item=new MenuItem("開啟");
close_Item=new MenuItem("退出");
save_Item=new MenuItem("儲存");

//在菜單裡添加功能表項目或者子功能表
file_menu.add(open_Item);
file_menu.add(save_Item);
file_menu.add(close_Item);

//在功能表列裡添加菜單
menubar.add(file_menu);

//在表單裡添加功能表列
f.setMenuBar(menubar);

//初始化對話方塊
openDia=new FileDialog(f,"我的開啟",FileDialog.LOAD);
saveDia=new FileDialog(f,"我的儲存",FileDialog.SAVE);

//在表單中添加文本區
f.add(textarea);

//添加監聽器
myEvent();

//設定表單可見
f.setVisible(true);

}
////定義myEvent方法添加監聽器
public void myEvent()
{

//為儲存功能表項目添加活動監聽
save_Item.addActionListener(new ActionListener(){
//複寫actionPerformed方法
public void actionPerformed(ActionEvent e)
{
//如果檔案不存在,給檔案初始化
if(file==null)
{
//設定視窗可見
saveDia.setVisible(true);
//擷取檔案目錄,與檔案
String dirPath=saveDia.getDirectory();
String fileName=saveDia.getFile();
//不操作任何檔案,取消操作
if(dirPath==null||fileName==null)
return ;
file =new File(dirPath,fileName);
}

try{
//定義一個寫入流,向檔案裡寫入文本
BufferedWriter bufw=new BufferedWriter(new FileWriter(file));
//定義字串接收文本呢區的文本。
String text=textarea.getText();
//向文本裡寫入文本呢資訊。
bufw.write(text);
//關閉寫入流。
bufw.close();
}
catch(IOException e4)
{
throw new RuntimeException();
}
}
});
//為開啟功能表項目添加活動監聽
open_Item.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
openDia.setVisible(true);
//擷取對話方塊裡目錄
String dirPath=openDia.getDirectory();
//擷取對話方塊裡檔案名稱
String fileName=openDia.getFile();
//System.out.println(dirPath+"--"+fileName);
//避免發生null 指標異常
if(dirPath==null||fileName==null)
return ;
//清空文本區
textarea.setText("");
//定義檔案和檔案目錄對象
file=new File(dirPath,fileName);
try{
//調用BufferedReader讀取流讀取檔案
BufferedReader bufr=new BufferedReader(new FileReader(file));
String line=null;
//擷取bufr中的文本資訊
while((line=bufr.readLine())!=null)
{
//將文本資訊添加到文本區中。
textarea.append(line+"\r\n");
}
//關閉讀取流。
bufr.close();
}
catch(IOException e1)
{
throw new RuntimeException("讀取失敗");
}
}
});
//為功能表項目closeItem添加一個活動監聽
close_Item.addActionListener(new ActionListener(){
@Override
//複寫抽象方法actionPerformed,添加處理動作。
public void actionPerformed(ActionEvent e) {
// TODO 自動產生的方法存根
System.exit(0);
}
});
//表單調用addWindowListener方法,傳遞一個介面類(監聽適配器)WindowAdapter。
f.addWindowListener(new WindowAdapter(){
//複寫windowClosing方法。
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public static void main(String[] args) {
new MenuLianXi();
}
}

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

java GUI(執行個體項目--記事本)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.