Java编写的文本编辑器Word文件下载.docx
- 文档编号:21251103
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:19
- 大小:36.93KB
Java编写的文本编辑器Word文件下载.docx
《Java编写的文本编辑器Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java编写的文本编辑器Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
contentPane.add(comboxPanel,BorderLayout.NORTH);
contentPane.add(txtPanel);
contentPane.add(textPanel,BorderLayout.SOUTH);
//Caidanlan:
添加主菜单并设置快捷键
JMenuBarmenuBar=newJMenuBar();
setJMenuBar(menuBar);
fileMenu=newJMenu("
文件(F)"
editMenu=newJMenu("
编辑(E)"
typeMenu=newJMenu("
格式(O)"
viewMenu=newJMenu("
查看(V)"
helpMenu=newJMenu("
帮助(H)"
aboutMenu=newJMenu("
关于(A)"
fileMenu.setMnemonic('
F'
editMenu.setMnemonic('
E'
typeMenu.setMnemonic('
O'
viewMenu.setMnemonic('
V'
helpMenu.setMnemonic('
H'
aboutMenu.setMnemonic('
A'
menuBar.add(fileMenu);
menuBar.add(editMenu);
menuBar.add(typeMenu);
menuBar.add(viewMenu);
menuBar.add(aboutMenu);
menuBar.add(helpMenu);
//wenjian“文件”菜单的子菜单添加以及设置加速器,监听器
aa=fileMenu.add(newShowAction("
新建"
));
aa.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
ab=fileMenu.add(newShowAction("
打开"
ab.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
ac=fileMenu.add(newShowAction("
保存"
ac.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
ad=fileMenu.add(newShowAction("
另存为"
ad.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
fileMenu.addSeparator();
ae=fileMenu.add(newShowAction("
页面设置"
ae.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
af=fileMenu.add(newShowAction("
打印"
af.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
//分割线
ag=fileMenu.add(newShowAction("
退出"
ag.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
//bianji“编辑”菜单的子菜单添加以及设置加速器,监听器
ah=editMenu.add(newShowAction("
撤消"
editMenu.addSeparator();
ah.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
ai=editMenu.add(newShowAction("
剪切"
ai.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
aj=editMenu.add(newShowAction("
复制"
aj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
an=editMenu.add(newShowAction("
粘贴"
an.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
ak=editMenu.add(newShowAction("
删除"
ak.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,InputEvent.CTRL_MASK));
al=editMenu.add(newShowAction("
查找"
al.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
am=editMenu.add(newShowAction("
全选"
am.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
//geshi“格式”菜单的子菜单添加以及设置加速器,监听器
zdhh=newJMenu("
自动换行(L)"
zdhh.setMnemonic('
L'
typeMenu.add(zdhh);
ButtonGroupgroup=newButtonGroup();
xz=newJRadioButtonMenuItem("
选择"
xz.addActionListener(newShowAction("
xz.setSelected(true);
qxxz=newJRadioButtonMenuItem("
取消"
qxxz.addActionListener(newShowAction("
qxxz.setSelected(true);
group.add(xz);
group.add(qxxz);
zdhh.add(xz);
zdhh.add(qxxz);
bj=typeMenu.add(newShowAction("
背景颜色"
bj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
zt=typeMenu.add(newShowAction("
字体"
zt.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
//字体弹出框中的“确定”按钮
que=newButton("
确定"
que.addActionListener(newboxlistener());
//chakan“查看”菜单的子菜单添加以及设置加速器,监听器
ztl=viewMenu.add(newShowAction("
状态栏"
ztl.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
//guanyu“关于”菜单的子菜单添加以及设置加速器,监听器
zzxx=aboutMenu.add(newShowAction("
作者信息"
zzxx.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
bq=aboutMenu.add(newShowAction("
版权"
bq.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,InputEvent.CTRL_MASK));
sm=aboutMenu.add(newShowAction("
声明"
sm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
//bangzhu“帮助”菜单的子菜单添加以及设置加速器,监听器
shm=helpMenu.add(newShowAction("
说明"
shm.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
//文本框底部工具栏的设置
toolbar2=newJToolBar();
textPanel.add(toolbar2);
text1=newJTextField("
就绪"
10);
text2=newJTextField("
欢迎使用该记事本!
text3=newJTextField("
text4=newJTextField("
textPanel.setLayout(newGridLayout(1,4));
toolbar2.add(text1);
toolbar2.add(text2);
toolbar2.add(text3);
toolbar2.add(text4);
text1.setEditable(false);
text2.setEditable(false);
text3.setEditable(false);
text4.setEditable(false);
//组合框的设置
//字体
zitiLabel=newJLabel("
comboxPanel.add(zitiLabel);
Stringzit[]={"
宋体"
"
华文行楷"
楷体"
黑体"
幼圆"
};
zitibox=newJComboBox(zit);
comboxPanel.add(zitibox);
//颜色
yanseLabel=newJLabel("
颜色"
comboxPanel.add(yanseLabel);
Stringyans[]={"
黑色"
蓝色"
绿色"
红色"
黄色"
蓝绿色"
浅灰色"
yansebox=newJComboBox(yans);
comboxPanel.add(yansebox);
//大小
daxiaoLabel=newJLabel("
大小"
comboxPanel.add(daxiaoLabel);
Stringdax[]={"
15"
10"
5"
20"
25"
30"
35"
40"
..."
daxiaobox=newJComboBox(dax);
comboxPanel.add(daxiaobox);
zitibox.setEditable(true);
yansebox.setEditable(true);
daxiaobox.setEditable(true);
comboxPanel.setLayout(newFlowLayout(FlowLayout.LEFT));
//靠左排列
//组合框注册监听器
yansebox.addActionListener(newboxlistener());
zitibox.addActionListener(newboxlistener());
daxiaobox.addActionListener(newboxlistener());
txtPanel.setLayout(newGridLayout(1,1));
//实例化“撤销”
um=newUndoManager();
txtArea.getDocument().addUndoableEditListener(um);
//菜单栏的接口实现
privateclassShowActionextendsAbstractAction
publicShowAction(Stringname){super(name);
publicvoidactionPerformed(ActionEvente)
Objects=e.getSource();
//新建
if(s==aa)
if(txtArea.getText().equals("
))
txtArea.setText("
else{
intn=JOptionPane.showConfirmDialog(Aframe.this,"
无标题记事本已改变。
\n想要保存吗?
记事本"
JOptionPane.YES_NO_CANCEL_OPTION);
if(n==JOptionPane.NO_OPTION){
无标题"
+"
——"
}
elseif(n==JOptionPane.YES_OPTION)
save.setVisible(true);
Stringname=save.getDirectory()+save.getFile();
try
FileOutputStreamout=newFileOutputStream(name);
out.write(txtArea.getText().getBytes());
out.close();
catch(IOExceptiona)
System.err.println("
保存失败。
。
!
//打开
if(s==ab)
open.setVisible(true);
Stringname=open.getDirectory()+open.getFile();
Stringname2=open.getFile();
setTitle(name2);
FileInputStreamin=newFileInputStream(name);
byte[]ia=newbyte[in.available()];
in.read(ia);
txtArea.setText(newString(ia));
in.close();
获取文件失败!
//另存为
if(s==ad)
shifulingcun=1;
//保存
if(s==ac)
if(shifulingcun!
=1)
{save.setVisible(true);
catch(IOExceptionb)
保存文件失败"
//退出
if(s==ag)
intselection=JOptionPane.showConfirmDialog(
Aframe.this,
"
确定退出么?
"
退出?
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE);
if(selection==JOptionPane.OK_OPTION)
System.exit(0);
//选择自动换行
if(s==xz)
txtArea.setLineWrap(true);
//取消自动换行
if(s==qxxz)
txtArea.setLineWrap(false);
//背景颜色
if(s==bj)
Colorcolor=JColorChooser.showDialog(Aframe.this,"
调色板"
txtArea.getBackground());
if(color!
=null)
txtArea.setBackground(color);
//作者信息
if(s==zzxx)
{intselection=JOptionPane.showConfirmDialog(
“我的记事本”编写小组成员:
刘悦,王征,沈光辉"
JOptionPane.DEFAULT_OPTION);
//版权
if(s==bq)
版权所有,XX!
//声明
if(s==sm)
该程序仅用于实践交流"
//说明
if(s==shm)
由于种种原因,该版本记事本还存在很多缺陷,我们将在以后的工作中予以改进"
//剪切复制粘贴
if(s==ai||s==cutTtem)
txtArea.cut();
if(s==aj)
txtArea.copy();
if(s==an)
txtArea.paste();
//删除
if(s==ak)
txtArea.replaceRange("
txtArea.getSelectionStart(),txtArea.getSelectionEnd());
//全选
if(s==am)
txtArea.selectAll();
//撤销
if(s==ah)
um.undo();
if(s==zt)
tishi.setFont(newFont("
1,15));
tanchu.setLocation(300,250);
tanchu.setSize(200,150);
tanchu.setTitle("
字体设置"
tanchu.setLayout(newGridLayout(2,2,2,2));
tanchu.add(tishi);
tanchu.add(daxiaobox);
tanchu.add(que);
tanchu.add(zitibox);
tanchu.setVisible(true);
//状态栏
aaaaa.setText
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 编写 文本 编辑器