import?java.awt.*;
大安市網站建設公司創新互聯,大安市網站設計制作,有大型網站制作公司豐富經驗。已為大安市上千多家提供企業網站建設服務。企業網站搭建\成都外貿網站建設要多少錢,請找那個售后服務好的大安市做網站的公司定做!
import?java.awt.event.*;
import?java.io.*;
import?javax.swing.*;
public?class?MyNotepad?implements?ActionListener
{
private?JFrame?frame=new?JFrame("新記事本");
private?JTextArea?jta=new?JTextArea();
private?String?result="";
private?boolean?flag=true;
private?File?f;
private?JButton?jb=new?JButton("開始");
private?JTextField?jtf=new?JTextField(15);
private?JTextField?jt=new?JTextField(15);
private?JButton?jbt=new?JButton("替換為");
private?JButton?jba=new?JButton("全部替換");
private?Icon?ic=new?ImageIcon("D:\\java課堂筆記\\GUI\\11.gif");
private?String?value;
private?int?start=0;
private?JFrame?jf=new?JFrame("查找");
private?JFrame?jfc=new?JFrame("替換");
@Override
public?void?actionPerformed(ActionEvent?e)?
{
String?comm=e.getActionCommand();
if("新建".equals(comm))
{
if(!(frame.getTitle().equals("新記事本")))
{
if(!flag)
{
write();
newNew();
}
else
{
JFileChooser?jfc=new?JFileChooser("D:\\java課堂筆記");
int?returnVal?=?jfc.showDialog(null,"保存為");
if(returnVal?==?JFileChooser.APPROVE_OPTION)?
{//選擇文件后再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
flag=false;
write();
}
}
}
else?if(!(jta.getText().isEmpty()))
{
JFileChooser?jfc=new?JFileChooser("D:\\java課堂筆記");
int?returnVal?=?jfc.showDialog(null,"保存為");
if(returnVal?==?JFileChooser.APPROVE_OPTION)?
{//選擇文件后再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
flag=false;
write();
newNew();
}
}
else
{
newNew();
}
}
else?if("打開".equals(comm))
{
JFileChooser?jfc=new?JFileChooser("D:\\java課堂筆記");
jfc.setDialogType(JFileChooser.OPEN_DIALOG);
int?returnVal?=?jfc.showOpenDialog(null);
if(returnVal?==?JFileChooser.APPROVE_OPTION)
{//選擇文件后再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
frame.setTitle(f.getName());
result=read();
flag=false;
value=result;
jta.setText(result);
}
}else?if("保存".equals(comm))
{
JFileChooser?jfc=new?JFileChooser("D:\\java課堂筆記");
if(flag)
{
int?returnVal?=?jfc.showDialog(null,"保存為");
if(returnVal?==?JFileChooser.APPROVE_OPTION)
{//選擇文件后再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
flag=false;
write();
}
}
else
{
write();
}
}
else?if("另存".equals(comm))
{
JFileChooser?jfc=new?JFileChooser("D:\\java課堂筆記");
int?returnVal?=?jfc.showDialog(null,"另存");
if(returnVal?==?JFileChooser.APPROVE_OPTION)?
{//選擇文件后再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
write();
}
}
else?if("退出".equals(comm))
{
System.exit(0);
}
else?if("撤銷".equals(comm))
{
jta.setText(value);
}
else?if("剪切".equals(comm))
{
value=jta.getText();
jta.cut();
}
else?if("復制".equals(comm))
{
jta.copy();
}
else?if("粘貼".equals(comm))
{
value=jta.getText();
jta.paste();
}
else?if("刪除".equals(comm))
{
value=jta.getText();
jta.replaceSelection(null);
}
else?if("全選".equals(comm))
{
jta.selectAll();
}
else?if("查找".equals(comm))
{
value=jta.getText();
jf.add(jtf,BorderLayout.CENTER);
jf.add(jb,BorderLayout.SOUTH);
jf.setLocation(300,300);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
else?if("替換".equals(comm))
{
value=jta.getText();
GridLayout?gl=new?GridLayout(3,3);
JLabel?jl1=new?JLabel("查找內容:");
JLabel?jl2=new?JLabel("替換為:");
jfc.setLayout(gl);
jfc.add(jl1);
jfc.add(jtf);
jfc.add(jb);
jfc.add(jl2);
jfc.add(jt);
jfc.add(jbt);
JLabel?jl3=new?JLabel();
JLabel?jl4=new?JLabel();
jfc.add(jl3);
jfc.add(jl4);
jfc.add(jba);
jfc.setLocation(300,300);
jfc.pack();
jfc.setVisible(true);
jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
else?if("版本".equals(comm))
{
JDialog?jd=new?JDialog(frame,"關于對話框");
jd.setSize(200,200);
JLabel?l=new?JLabel("哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵");
jd.add(l,BorderLayout.CENTER);
jd.setLocation(100,200);
jd.setSize(300,300);
jd.setVisible(true);
// ?jd.pack();
jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
else?if("開始".equals(comm)||"下一個".equals(comm))
{
String?temp=jtf.getText();
int?s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1)
{
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jb.setText("下一個");
// ?value=value.substring(s+temp.length());//不能截取字串
}
else?
{
JOptionPane.showMessageDialog(jf,?"查找完畢!",?"提示",?0,?ic);
jf.dispose();
}
}
else?if("替換為".equals(comm))
{
String?temp=jtf.getText();
int?s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1)
{
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jta.replaceSelection(jt.getText());
}
else
{
JOptionPane.showMessageDialog(jf,?"查找完畢!",?"提示",?0,?ic);
jf.dispose();
}
}
else?if("全部替換".equals(comm))
{
String?temp=jta.getText();
temp=temp.replaceAll(jtf.getText(),?jt.getText());
jta.setText(temp);
}
}
public?String?read()
{
String?temp="";
try?
{
FileInputStream?fis?=?new?FileInputStream(f.getAbsolutePath());
byte[]?b=new?byte[1024];
while(true)
{
int?num=fis.read(b);
if(num==-1)
break;
temp=temp+new?String(b,0,num);
}
fis.close();
}
catch?(Exception?e1)
{
e1.printStackTrace();
}
return?temp;
}
public?void?write()
{
try
{
FileOutputStream?fos=new?FileOutputStream(f);
fos.write(jta.getText().getBytes());
fos.close();
}
catch?(Exception?e)
{
e.printStackTrace();
}
}
public?void?newNew()
{
frame.dispose();
new?MyNotepad();
flag=true;
}
public?MyNotepad()
{
JMenuBar?jmb=new?JMenuBar();
String[]?menuLab={"文件","編輯","幫助"};
String[][]?menuItemLab={{"新建","打開","保存","另存","退出"},
{"撤銷","剪切","復制","粘貼","刪除","全選","查找","替換"},
{"版本"}};
for(int?i=0;imenuLab.length;i++)
{
JMenu?menu=new?JMenu(menuLab[i]);
jmb.add(menu);
for(int?j=0;jmenuItemLab[i].length;j++)
{
JMenuItem?jmi=new?JMenuItem(menuItemLab[i][j]);
menu.add(jmi);
jmi.addActionListener(this);
}
}
frame.setJMenuBar(jmb);
jta.setLineWrap(true);//自動換行
JScrollPane?jsp=new?JScrollPane(jta);//滾動窗口面板
frame.add(jsp);
jb.addActionListener(this);
jbt.addActionListener(this);
jba.addActionListener(this);
frame.setLocation(200,50);
frame.setSize(620,660);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public?static?void?main(String[]?args)
{
new?MyNotepad();
}
}
//繼承的類換一下,應該用swing包里面
class?Jsben?extends?Frame??{???--?class?Jsben?extends?JFrame??{
frame的方法setMenuBar(bar);和setJMenuBar(bar);這個不太一樣,功能類似
1、首先在電腦中新建一個記事本,將記事本的后綴改為“.java”,如下圖所示。
2、然后使用記事本的方式打開,輸入java程序代碼,如下圖所示。
3、接著在鍵盤上按“win+R”快捷鍵鍵打開運行,輸入“cmd”,如下圖所示。
4、在命令行輸入“D:”,按“Enter”鍵進去D盤,再輸入“cd Desktop”進去Desktop文件夾,如下圖所示。
5、最后再輸入“javac Test.java”,按“Enter”鍵編譯java程序,如下圖所示就完成了。
方法/步驟
下載JDK,并安裝成功,CMD測試Java環境安裝成功。出現如下提示則Java環境安裝成功
打開mycelipse進入主界面,點擊左上角file--new---java project,新建一個Java項目,項目名字任意取,這里我取名為note--然后點擊完成,創建Java項目
然后右鍵項目下的src--new---package,新建一個包,包名我定為notetest,然后點擊完成
然后右鍵我們建立好的包notetest--new--class,包名為Note,點擊完成
首先我們想導入工程所需要的包,以便編寫程序時進行調用
package notepad;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
首先定義好編寫程序時變量,我們設為成員變量方便以后調用
public class Notepad{
//屏幕分辨率
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
//窗體
private Frame frm ;
//顯示內容多行文本
private TextArea notetext;
//記事本菜單
private MenuBar mb;
//菜單
private Menu m ;
//菜單項
private MenuItem open,save;
為程序創建組件--Frame--菜單欄目--文本框TextArea
public Notepad(){init();}
private void init(){
frm = new Frame("模擬記事本");
//設置菜單
mb = new MenuBar();
m = new Menu("文件");
//顯示文件的地方
notetext = new TextArea();
notetext.setBounds(30, 50, 750, 500);
frm.add(notetext);
myEvent();
為控件和按鈕添加監聽事件
private void myEvent() {
//打開菜單的事件處理
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//判斷路徑和文件名是否為空 如果為空結束程序
if(dir == null || name == null)
//如果不為空講路徑名和文件名封裝到File對象里
file = new File(dir,name);
//使用字符緩沖讀取文件
BufferedReader bfr = null;
try {
bfr = new BufferedReader(new FileReader(file));
});
save.addActionListener(new ActionListener(){
//獲取路徑和文件名
String dir =fd.getDirectory();
String name = fd.getFile();
//如果不為空講路徑名和文件名封裝到File對象里
file = new File(dir,name);
}
BufferedWriter bfr= null;
}
});
}
}
然后創建主方法,開始測試程序,新建一個NoteDemo類
package notepad;
public class NoteDemo {
public static void main(String[] args) {
new Notepad();
}
}
文章標題:簡易記事本java代碼 簡易記事本java代碼是什么
網頁URL:http://www.2m8n56k.cn/article42/doidhec.html
成都網站建設公司_創新互聯,為您提供面包屑導航、做網站、企業網站制作、微信公眾號、、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯