生活随笔
收集整理的這篇文章主要介紹了
Java实现简单的文本编辑器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、首先創建一個編輯器EditorDemo類,繼承JFrame類,具體實現編碼如下:
2、創建菜單欄,新增各個菜單項,比如文件、編輯、幫助等功能,新增createJMenuBar方法如下:
/*** 創建菜單欄* @param actions* @return*/private JMenuBar createJMenuBar
(Action
[] actions
) {JMenuBar menubar
= new JMenuBar
(); //實例化菜單欄JMenu menuFile
= new JMenu
("文件"); //實例化菜單JMenu menuEdit
= new JMenu
("編輯");JMenu menuAbout
= new JMenu
("幫助");menuFile.add
(new JMenuItem
(actions
[0])); //增加新菜單項menuFile.add
(new JMenuItem
(actions
[1]));menuFile.add
(new JMenuItem
(actions
[2]));menuFile.add
(new JMenuItem
(actions
[7]));menuEdit.add
(new JMenuItem
(actions
[3]));menuEdit.add
(new JMenuItem
(actions
[4]));menuEdit.add
(new JMenuItem
(actions
[5]));menuAbout.add
(new JMenuItem
(actions
[6]));menubar.add
(menuFile
); //增加菜單menubar.add
(menuEdit
);menubar.add
(menuAbout
);return menubar
; //返回菜單欄
}
3、創建工具條,比如:新建、打開、剪切、保存、拷貝等功能,新增createJToolBar方法
/**
* 創建工具條
* @param actions
* @return
*/
private JToolBar createJToolBar(Action[] actions) {
JToolBar toolBar = new JToolBar(); //實例化工具條
for (int i = 0; i < actions.length; i++) {
JButton bt = new JButton(actions[i]); //實例化新的按鈕
bt.setRequestFocusEnabled(false); //設置不需要焦點
toolBar.add(bt); //增加按鈕到工具欄
}
return toolBar; //返回工具欄
}
4、具體操作功能實現,包括:新建文件命令、打開文件命令、保存命令、退出命令、剪切命令、拷貝命令、粘貼命令、關于選項命令,具體實現上述功能類編碼如下:
/*** 新建文件命令*/public class NewAction extends AbstractAction
{public
NewAction() {super
("新建");}public void actionPerformed
(ActionEvent e
) {textPane.setDocument
(new DefaultStyledDocument
()); //清空文檔
}}/*** 打開文件命令*/public class OpenAction extends AbstractAction
{public
OpenAction() {super
("打開");}public void actionPerformed
(ActionEvent e
) {int i
= filechooser.showOpenDialog
(EditorDemo.this
); //顯示打開文件對話框
if (i
== JFileChooser.APPROVE_OPTION
) { //點擊對話框中打開選項File f
= filechooser.getSelectedFile
(); //得到選擇的文件try
{InputStream is
= new FileInputStream
(f
); //得到文件輸入流textPane.read
(is,
"d"); //讀入文件到文本窗格
} catch
(Exception ex
) {ex.printStackTrace
(); //輸出出錯信息
}}}}/*** 保存命令*/public class SaveAction extends AbstractAction
{public
SaveAction() {super
("保存");}public void actionPerformed
(ActionEvent e
) {int i
= filechooser.showSaveDialog
(EditorDemo.this
); //顯示保存文件對話框
if (i
== JFileChooser.APPROVE_OPTION
) { //點擊對話框中保存按鈕File f
= filechooser.getSelectedFile
(); //得到選擇的文件try
{FileOutputStream out
= new FileOutputStream
(f
); //得到文件輸出流out.write
(textPane.getText
().getBytes
()); //寫出文件
} catch
(Exception ex
) {ex.printStackTrace
(); //輸出出錯信息
}}}}/*** 退出命令*/public class ExitAction extends AbstractAction
{public
ExitAction() {super
("退出");}public void actionPerformed
(ActionEvent e
) {System.exit
(0); //退出程序
}}/*** 剪切命令*/public class CutAction extends AbstractAction
{public
CutAction() {super
("剪切");}public void actionPerformed
(ActionEvent e
) {textPane.cut
(); //調用文本窗格的剪切命令
}}/*** 拷貝命令*/public class CopyAction extends AbstractAction
{public
CopyAction() {super
("拷貝");}public void actionPerformed
(ActionEvent e
) {textPane.copy
(); //調用文本窗格的拷貝命令
}}/*** 粘貼命令*/public class PasteAction extends AbstractAction
{public
PasteAction() {super
("粘貼");}public void actionPerformed
(ActionEvent e
) {//調用文本窗格的粘貼命令textPane.paste
();}}/*** 關于選項命令*/public class AboutAction extends AbstractAction
{public
AboutAction() {super
("關于");}public void actionPerformed
(ActionEvent e
) {JOptionPane.showMessageDialog
(EditorDemo.this,
"簡單的文本編輯器演示"); //顯示軟件信息
}}
5、最后寫一個main方法調用EditorDemo類,啟動文本剪輯器
/*** 啟動程序的main方法* @param args*/public static void main
(String
[] args
) {new EditorDemo
();}
啟動成功,可以盡情的碼字了
參考文章:http://www.ysxbohui.com/article/23
總結
以上是生活随笔為你收集整理的Java实现简单的文本编辑器的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。