import java.awt.*;

創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站制作、網站建設、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的高邑網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
import java.awt.event.*;
import java.io.*;
public class Notepad /*implements ActionListener , MouseListener , MouseMotionListener , WindowListener , ItemListener , KeyListener, TextListener */
{
//成員變量
private Frame mainFrame;//主框架
private MenuBar mb ; //菜單條
private Menu mFile , mEdit , mFormat , mHelp ; //菜單:文件,編輯,格式,幫助
private MenuItem miNew , miOpen , miSave , miSaveAs , miExit ;//文件菜單項:新建,打開,保存,另存為,退出
private MenuItem miCut , miCopy , miPaste , miDelete ;//編輯菜單項:剪切,復制,粘貼,刪除
private MenuItem miFont , miLowtoCapital, miCapitaltoLow ,miEncrypt , miDisencrypt;//格式菜單項:字體
private MenuItem miAboutNotepad;//幫助菜單項:關于記事本
private TextArea ta;//文本區
private String tempString;//臨時字符串,用于存儲需要復制粘貼的字符串
private boolean textValueChanged = false;
private int id_font ;//字體
String fileName = "";//上次保存后的文件名和地址
//構造函數
public Notepad(){
//框架
mainFrame = new Frame ("Notepad v0.99 by Launching");
mb = new MenuBar ();
ta = new TextArea (30 ,60);
ta.setFont( new Font ( "Times New Rome" , Font.PLAIN , 15));
ta.setBackground(new Color(0 , 250 , 200));
//菜單條
mFile = new Menu ( "File");
mEdit = new Menu ( "Edit");
mFormat = new Menu ("Format");
mHelp = new Menu ("Help");
//"文件"
miNew = new MenuItem ("New");
miOpen = new MenuItem ("Open");
miSave = new MenuItem ("Save");
miSaveAs = new MenuItem ("Save as");
miExit = new MenuItem ("Exit");
//"編輯"
miCut = new MenuItem ("Cut");
miCopy = new MenuItem ("Copy");
miPaste = new MenuItem ("Paste");
miDelete = new MenuItem ("Delete");
//"格式"
miFont = new MenuItem ("Font");
miLowtoCapital = new MenuItem("Low to Capital");
miCapitaltoLow = new MenuItem("Capital to Low");
miEncrypt = new MenuItem("Encrypt");
miDisencrypt = new MenuItem("Disencrypt");
//"幫助"
miAboutNotepad = new MenuItem ("About Notepad");
//添加文件菜單項
mFile.add(miNew);
mFile.add(miOpen);
mFile.add(miSave);
mFile.add(miSaveAs);
mFile.add(miExit);
//添加編輯菜單項
mEdit.add(miCut);
mEdit.add(miCopy);
mEdit.add(miPaste);
mEdit.add(miDelete);
//添加格式菜單項
mFormat.add(miFont);
mFormat.add(miLowtoCapital);
mFormat.add(miCapitaltoLow);
mFormat.add(miEncrypt);
mFormat.add(miDisencrypt);
//添加幫助菜單項
mHelp.add(miAboutNotepad);
//菜單條添加菜單
mb.add(mFile);
mb.add(mEdit);
mb.add(mFormat);
mb.add(mHelp);
//框架添加菜單條
mainFrame.setMenuBar( mb );
//初始字符串賦為空
tempString = "";
//添加文本區
mainFrame.add(ta, BorderLayout.CENTER);
mainFrame.setSize(800 , 500);
mainFrame.setLocation( 100 ,100);// 起始位置
mainFrame.setResizable(true);//不可更改大小
mainFrame.setVisible(true);
//mainFrame.pack();
//////////////////////////////////////////////////////////////////////////////////
////////////////////////////////增加監視器////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
//主框架
mainFrame.addWindowListener(new WindowAdapter (){ //關閉窗口
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//文本區
ta.addKeyListener( new KeyAdapter(){
public void KeyTyped(KeyEvent e){
textValueChanged = true ; //鍵盤按鍵按下即導致文本修改
}
});
////////////////"文件"菜單://////////////////////
//新建
miNew.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
ta.replaceRange("", 0 , ta.getText().length()) ;//清空文本區的內容
fileName = "";//文件名清空
}
});
//打開
miOpen.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
FileDialog d=new FileDialog(mainFrame , "open file" , FileDialog.LOAD );//打開文件對話框
d.addWindowListener( new WindowAdapter(){ //關閉文件對話框窗口
public void windowClosing(WindowEvent ee){
System.exit(0);
}
});
d.setVisible(true);
File f = new File( d.getDirectory()+d.getFile() ); //建立新文件
fileName = d.getDirectory()+d.getFile();//得到文件名
char ch[] = new char [(int)f.length()];///用此文件的長度建立一個字符數組
try//異常處理
{
//讀出數據,并存入字符數組ch中
BufferedReader bw = new BufferedReader( new FileReader(f) );
bw.read(ch);
bw.close();
}
catch( FileNotFoundException fe ){
System.out.println("file not found");
System.exit(0);
}
catch( IOException ie){
System.out.println("IO error");
System.exit(0);
}
String s =new String (ch);
ta.setText(s);//設置文本區為所打開文件的內容
}
});
//保存
miSave.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
if( fileName.equals("") ){ //如果文件沒有被保存過,即文件名為空
FileDialog d=new FileDialog(mainFrame , "save file" , FileDialog.SAVE );//保存文件對話框
d.addWindowListener( new WindowAdapter(){ //關閉文件對話框窗口
public void windowClosing(WindowEvent ee){
System.exit(0);
}
});
d.setVisible(true);
String s = ta.getText();//得到所輸入的文本內容
try//異常處理
{
File f = new File( d.getDirectory()+d.getFile());//新建文件
fileName = d.getDirectory()+d.getFile();//得到文件名
BufferedWriter bw = new BufferedWriter( new FileWriter (f));//輸入到文件中
bw.write(s , 0 , s.length());
bw.close();
}
catch(FileNotFoundException fe_){
System.out.println("file not found");
System.exit(0);
}
catch( IOException ie_)
{
System.out.println(" IO error");
System.exit(0);
}
}
else //如果文件已經保存過
{
String s = ta.getText();//得到所輸入的文本內容
try//異常處理
{
File f = new File( fileName );//新建文件
BufferedWriter bw = new BufferedWriter( new FileWriter (f));//輸入到文件中
bw.write(s , 0 , s.length());
bw.close();
}
catch(FileNotFoundException fe_){
System.out.println("file not found");
System.exit(0);
}
catch( IOException ie_)
{
System.out.println(" IO error");
System.exit(0);
}
}
}
});
//另存為
miSaveAs.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e) {
FileDialog d=new FileDialog(mainFrame , "save file" , FileDialog.SAVE );//保存文件對話框
d.addWindowListener( new WindowAdapter(){ //關閉文件對話框窗口
public void windowClosing(WindowEvent ee){
System.exit(0);
}
});
d.setVisible(true);
String s = ta.getText();//得到所輸入的文本內容
try//異常處理
{
File f = new File( d.getDirectory()+d.getFile());//新建文件
BufferedWriter bw = new BufferedWriter( new FileWriter (f));//輸入到文件中
bw.write(s , 0 , s.length());
bw.close();
}
catch(FileNotFoundException fe_){
System.out.println("file not found");
System.exit(0);
}
catch( IOException ie_)
{
System.out.println(" IO error");
System.exit(0);
}
}
});
//退出
miExit.addActionListener( new ActionListener(){ ///退出程序
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
////////////////"編輯"菜單:////////////////////
//剪切
miCut.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
tempString = ta.getSelectedText(); ///得到要復制的內容,暫存在tempString中
StringBuffer tmp = new StringBuffer ( ta.getText());//臨時存儲文本
int start = ta.getSelectionStart(); //得到要刪除的字符串的起始位置
int len = ta.getSelectedText().length(); //得到要刪除的字符串的長度
tmp.delete( start , start+len); ///刪除所選中的字符串
ta.setText(tmp.toString());//用新文本設置原文本
}
});
//復制
miCopy.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
tempString = ta.getSelectedText(); ///得到要復制的內容,暫存在tempString中
}
});
//粘貼
miPaste.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
StringBuffer tmp = new StringBuffer ( ta.getText());//臨時存儲文本
int start = ta.getSelectionStart(); //得到要粘貼的位置
tmp.insert(start , tempString);//查入要粘貼的內容
ta.setText(tmp.toString());//用新文本設置原文本
}
});
//刪除
miDelete.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
StringBuffer tmp = new StringBuffer ( ta.getText());//臨時存儲文本
int start = ta.getSelectionStart(); //得到要刪除的字符串的起始位置
int len = ta.getSelectedText().length(); //得到要刪除的字符串的長度
tmp.delete( start , start+len); ///刪除所選中的字符串
ta.setText(tmp.toString());//用新文本設置原文本
}
});
////////////////"格式"菜單:////////////////////
//字體
miFont.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
final Dialog d = new Dialog ( mainFrame , "Font");//新建對話框
d.setLocation( 250 ,250);// 起始位置
d.setLayout( new BorderLayout());//表格布局
//////////////////////////上部分面板
Label l_font = new Label ("font");//font標簽
Panel p_1 = new Panel();
p_1.add(l_font);
p_1.setVisible(true);
//////////////////////////中部分面板
List font_list = new List (6 , false);//字體列表
//添加字體項目
font_list.add("Plain");///普通字體
font_list.add("Bold"); ///粗體
font_list.add("Italic");//斜體
font_list.addItemListener( new MyItemListener_font() ); //字體增加監視器
Panel p_2 = new Panel();
p_2.add(font_list);
p_2.setVisible(true);
//////////////////////////下部分面板
Button ok = new Button ("OK");
ok.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
d.dispose();
}
});
ok.setSize( new Dimension (20 , 5) );
Panel p_3 = new Panel();//下部分面板
p_3.add(ok);
p_3.setVisible(true);
//添加三個面板
d.add(p_1 , BorderLayout.NORTH);
d.add(p_2 , BorderLayout.CENTER);
d.add(p_3 , BorderLayout.SOUTH);
d.pack();
d.addWindowListener( new WindowAdapter(){ //關閉對話框窗口
public void windowClosing(WindowEvent ee){
d.dispose();
}
});
d.setVisible(true);
}
});
//小寫字母轉大寫
miLowtoCapital.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
String s = ta.getText();//得到所輸入的文本內容
StringBuffer temp = new StringBuffer("");
for(int i = 0 ; is.length() ; i++){
if((int)s.charAt(i)=97 (int)s.charAt(i)=122 ){
temp.append((char)((int)s.charAt(i)-32));
}
else
temp.append(s.charAt(i));
}
s = new String(temp);
ta.setText(s);
}
});
//大寫字母轉小寫
miCapitaltoLow.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
String s = ta.getText();//得到所輸入的文本內容
StringBuffer temp = new StringBuffer("");
for(int i = 0 ; is.length() ; i++){
if((int)s.charAt(i)=65 (int)s.charAt(i)=90 ){
temp.append((char)((int)s.charAt(i)+32));
}
else
temp.append(s.charAt(i));
}
s = new String(temp);
ta.setText(s);
}
});
//加密
miEncrypt.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
String s = ta.getText();//得到所輸入的文本內容
StringBuffer temp = new StringBuffer("");
for(int i = 0 ; is.length() ; i++){
if(s.charAt(i)=40 s.charAt(i)=125){
if(i%2==0){
temp.append((char)(s.charAt(i) + 1 ));
}
else
temp.append((char)(s.charAt(i) - 1 ));
}
else
temp.append(s.charAt(i));
}
s = new String(temp);
ta.setText(s);
}
});
//解密
miDisencrypt.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
String s = ta.getText();//得到所輸入的文本內容
StringBuffer temp = new StringBuffer("");
for(int i = 0 ; is.length() ; i++){
if(s.charAt(i)=40 s.charAt(i)=125){
if(i%2==0){
temp.append((char)(s.charAt(i) - 1 ));
}
else
temp.append((char)(s.charAt(i) + 1 ));
}
else
temp.append(s.charAt(i));
}
s = new String(temp);
ta.setText(s);
}
});
////////////////"幫助"菜單:////////////////////
//關于記事本
miAboutNotepad.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
final Dialog d = new Dialog ( mainFrame , "AboutNotepad");//新建對話框
TextArea t = new TextArea("\nwelcome to use Notepad " + "\n\n" + "Copyright@Launching " + "\n\n" + "free software" + "\n\n" + "v0.99");//添加標簽
t.setSize( new Dimension ( 5 , 5));
t.setEditable(false);
d.setResizable(false);//不可調整大小
d.add(t);
d.pack();
d.addWindowListener( new WindowAdapter(){ //關閉對話框窗口
public void windowClosing(WindowEvent ee){
d.dispose();
}
});
d.setLocation( 100 ,250);// 起始位置
d.setVisible(true);
}
});
}
class MyItemListener_font implements ItemListener { //字體監聽器
public void itemStateChanged(ItemEvent e) {
id_font = ((java.awt.List)e.getSource()).getSelectedIndex();
switch( id_font){
case 0:{
ta.setFont(new Font("Times New Roman", Font.PLAIN ,ta.getFont().getSize()) );//普通文字
break;
}
case 1:{
ta.setFont(new Font("Times New Roman" , Font.BOLD ,ta.getFont().getSize()) );//粗體文字
break;
}
case 2:{
ta.setFont(new Font("Times New Roman" , Font.ITALIC ,ta.getFont().getSize()) );//斜體文字
break;
}
}
}
}
/////////////////////////////////////////主函數///////////////////////////////////////////////////
public static void main(String arg[]){
Notepad test = new Notepad(); ///創建記事本
}
//////////////////////////////////////////////////////////////////////////////////////////////////
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class MyTextEditor extends JFrame implements ActionListener,ItemListener,MouseListener
{
private File file;
private JTextArea textarea;
private JRadioButtonMenuItem rbmi_red,rbmi_blue,rbmi_green;
private JMenuItem menuitem_copy,menuitem_cut,menuitem_paste,menuitem_seek;
private JMenuItem menuitem_song,menuitem_fang,menuitem_kai;//字體變量
private JMenuItem menuitem_normal,menuitem_bold,menuitem_italic;//字形變量
private JMenuItem menuitem_20,menuitem_30,menuitem_40;//字號變量
private JMenuItem menuitem_exit,menuitem_infor;
private JPopupMenu popupmenu;
private JMenuItem menuitem_red,menuitem_green,menuitem_blue;
private JDialog dialog,dialog1;
private JButton button_seek;
private JTextField textfield_seek;
private JLabel label_seek,label_infor;
String seek;
public MyTextEditor()
{
super("文本編輯器");
this.setSize(400,300);
this.setLocation(360,300);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
Container ss=this.getContentPane();
this.textarea = new JTextArea();
JScrollPane dd=new JScrollPane(textarea);
ss.add(dd);
textarea.addMouseListener(this);
this.addMenu();
this.setVisible(true);
this.Dialog();
this.Dialog1();
this.file = null;
}
public MyTextEditor(String filename)
{
this();
if (filename!=null)
{
this.file = new File(filename);
this.setTitle(filename);
this.textarea.setText(this.readFromFile());
}
}
public MyTextEditor(File file)
{
this();
if (file!=null)
{
this.file = file;
this.setTitle(this.file.getName());
this.textarea.setText(this.readFromFile());
}
}
public void Dialog() //建立對話框的方法
{
dialog=new JDialog(this,"查找",true);
dialog.setLayout(new FlowLayout());
dialog.setSize(200,90);
label_seek=new JLabel("查找內容");
dialog.add(label_seek);
textfield_seek=new JTextField(10);
dialog.add(textfield_seek);
button_seek=new JButton("查找");
dialog.add(button_seek);
button_seek.addActionListener(this);
}
public void Dialog1()
{
dialog1=new JDialog(this,"專利",true);
dialog1.setLayout(new FlowLayout());
dialog1.setSize(200,100);
label_infor=new JLabel("劉同虎制作");
dialog1.add(label_infor);
}
public void addMenu()
{
JMenuBar menubar = new JMenuBar();
this.setJMenuBar(menubar);
JMenu menu_file = new JMenu("文件"); //文件菜單
menubar.add(menu_file);
JMenuItem menuitem_open = new JMenuItem("打開");
menu_file.add(menuitem_open);
menuitem_open.addActionListener(this);
JMenuItem menuitem_save = new JMenuItem("保存");
menu_file.add(menuitem_save);
menuitem_save.addActionListener(this);
JMenuItem menuitem_saveas = new JMenuItem("另存為");
menu_file.add(menuitem_saveas);
menuitem_saveas.addActionListener(this);
menuitem_exit=new JMenuItem("退出" );
menu_file.add(menuitem_exit);
menuitem_exit.addActionListener(this);
menuitem_infor=new JMenuItem("信息");
menu_file.add(menuitem_infor);
menuitem_infor.addActionListener(this);
JMenu menu_editor=new JMenu("編輯");//編輯菜單
menubar.add(menu_editor);
menuitem_seek=new JMenuItem("查找");
menu_editor.add(menuitem_seek);
menuitem_seek.addActionListener(this);
menuitem_copy=new JMenuItem("復制");
menuitem_copy.addActionListener(this);
menu_editor.add(menuitem_copy);
menuitem_cut=new JMenuItem("剪切");
menu_editor.add(menuitem_cut);
menuitem_cut.addActionListener(this);
menuitem_paste=new JMenuItem("粘貼");
menu_editor.add(menuitem_paste);
menuitem_paste.addActionListener(this);
JMenuItem menu_color=new JMenu("顏色");//顏色菜單
menu_editor.add(menu_color);
ButtonGroup buttongroup=new ButtonGroup();
rbmi_red=new JRadioButtonMenuItem("紅",true);
buttongroup.add(rbmi_red);
menu_color.add(rbmi_red);
rbmi_red.addItemListener(this);
rbmi_blue=new JRadioButtonMenuItem("藍",true);
buttongroup.add(rbmi_blue);
menu_color.add(rbmi_blue);
rbmi_blue.addItemListener(this);
rbmi_green=new JRadioButtonMenuItem("綠",true);
buttongroup.add(rbmi_green);
menu_color.add(rbmi_green);
rbmi_green.addItemListener(this);
JMenu menu_font=new JMenu("設置字體");//設置字體菜單
menubar.add(menu_font);
menuitem_song=new JMenuItem("宋體");
menu_font.add(menuitem_song);
menuitem_song.addActionListener(this);
menuitem_fang=new JMenuItem("仿宋");
menu_font.add(menuitem_fang);
menuitem_fang.addActionListener(this);
menuitem_kai=new JMenuItem("楷體");
menu_font.add(menuitem_kai);
menuitem_kai.addActionListener(this);
JMenu menu_style=new JMenu("設置字形");//設置字形菜單
menubar.add(menu_style);
menuitem_bold=new JMenuItem("粗體");
menu_style.add(menuitem_bold);
menuitem_bold.addActionListener(this);
menuitem_italic=new JMenuItem("斜體");
menu_style.add(menuitem_italic);
menuitem_italic.addActionListener(this);
JMenu menu_size=new JMenu("設置字號"); //設置字號菜單
menubar.add(menu_size);
menuitem_20=new JMenuItem("20");
menu_size.add(menuitem_20);
menuitem_20.addActionListener(this);
menuitem_30=new JMenuItem("30");
menu_size.add(menuitem_30);
menuitem_30.addActionListener(this);
menuitem_40=new JMenuItem("40");
menu_size.add(menuitem_40);
menuitem_40.addActionListener(this);
popupmenu=new JPopupMenu(); //快捷菜單
JMenuItem menuitem_red=new JMenuItem("紅色");
popupmenu.add(menuitem_red);
menuitem_red.addActionListener(this);
JMenuItem menuitem_green=new JMenuItem("綠色");
popupmenu.add(menuitem_green);
menuitem_green.addActionListener(this);
menuitem_blue=new JMenuItem("藍色");
popupmenu.add(menuitem_blue);
menuitem_blue.addActionListener(this);
textarea.add(popupmenu); //向文本區內添加快捷菜單
}
public void writeToFile(String lines) //寫文件
{
try
{
FileWriter fout = new FileWriter(this.file);
fout.write(lines+"\r\n");
fout.close();
}
catch (IOException ioex)
{
return;
}
}
public String readFromFile() //讀文件
{
try
{
FileReader fin = new FileReader(this.file);
BufferedReader bin = new BufferedReader(fin);
String aline="", lines="";
do
{
aline = bin.readLine();
if (aline!=null)
lines += aline + "\r\n";
} while (aline!=null);
bin.close();
fin.close();
return lines;
}
catch (IOException ioex)
{
return null;
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class f1 extends Frame implements ActionListener
{
private MenuBar menubar=new MenuBar();
private Menu filemenu=new Menu("文件");
private Menu editmenu=new Menu("編輯");
private Menu formmenu=new Menu("格式");
private MenuItem[] itemf=new MenuItem[4];
private MenuItem[] iteme=new MenuItem[6];
private MenuItem[] items=new MenuItem[2];
private TextArea tf=new TextArea();
public int a=0,b=0,c=0,style=Font.PLAIN,size=15;
public String s1="red:"+a+" "+"green:"+b+" "+"blue"+c,
s2="宋體";
public String[] sz1={"10","16","24","30","32","36"},
sz2={"宋體","黑體","幼圓","隸書","行楷","Arial","Georgia"},
sz3={"粗體","傾斜","常規","粗斜"};
JDialog dialog=new JDialog(this,"字體",true);
Container cp=dialog.getContentPane();
JLabel[] lb=new JLabel[8];
JLabel lb1=new JLabel(s1,JLabel.LEFT);
JButton b1=new JButton("確定"),
b2=new JButton("取消");
JComboBox jc1=new JComboBox(),
jc2=new JComboBox(),
jc3=new JComboBox();
JScrollBar jb1=new JScrollBar(JScrollBar.HORIZONTAL,10,5,0,260);
JScrollBar jb2=new JScrollBar(JScrollBar.HORIZONTAL,10,5,0,260);
JScrollBar jb3=new JScrollBar(JScrollBar.HORIZONTAL,10,5,0,260);
網站題目:簡單的文本編輯器Java代碼 簡單的文本編輯器java代碼
鏈接URL:http://www.yijiale78.com/article22/ddgcjjc.html
成都網站建設公司_創新互聯,為您提供軟件開發、微信小程序、微信公眾號、自適應網站、網頁設計公司、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯