怎么用Java实现Windows记事本除“页面设置”和“打印”之外的功能

仿照Windows记事本(Notepad)程序,用Java实现其中的文件菜单下的除“页面设置”和“打印”之外的其它功能,如下图。... 仿照Windows记事本(Notepad)程序,用Java实现其中的文件菜单下的除“页面设置”和“打印”之外的其它功能,如下图。 展开
 我来答
无心蓝魔
2014-12-16 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:102万
展开全部

你看这个行么~之前无聊的时候写的~~

绝对原创~同时打开多个文件~背影颜色~打开保存文件 ~树状浏览~保存窗口状态~~~

匿名用户
2014-12-16
展开全部
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;

//简单的文本编辑器

public class EditorDemo extends JFrame {
JTextPane textPane = new JTextPane(); //文本窗格,编辑窗口
JLabel statusBar = new JLabel(); //状态栏
JFileChooser filechooser = new JFileChooser(); //文件选择器

public EditorDemo() { //构造函数
super("简单的文本编辑器"); //调用父类构造函数

Action[] actions = //Action数组,各种操作命令
{
new NewAction(),
new OpenAction(),
new SaveAction(),
new CutAction(),
new CopyAction(),
new PasteAction(),
new AboutAction(),
new ExitAction()};

setJMenuBar(createJMenuBar(actions)); //设置菜单栏
Container container = getContentPane(); //得到容器
container.add(createJToolBar(actions), BorderLayout.NORTH); //增加工具栏
container.add(textPane, BorderLayout.CENTER); //增加文本窗格
container.add(statusBar, BorderLayout.SOUTH); //增加状态栏

setSize(330, 200); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}

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; //返回菜单栏
}

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; //返回工具栏
}

class NewAction extends AbstractAction { //新建文件命令
public NewAction() {
super("新建");
}
public void actionPerformed(ActionEvent e) {
textPane.setDocument(new DefaultStyledDocument()); //清空文档
}
}

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(); //输出出错信息
}
}
}
}

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(); //输出出错信息
}
}
}
}

class ExitAction extends AbstractAction { //退出命令
public ExitAction() {
super("退出");
}
public void actionPerformed(ActionEvent e) {
System.exit(0); //退出程序
}
}

class CutAction extends AbstractAction { //剪切命令
public CutAction() {
super("剪切");
}
public void actionPerformed(ActionEvent e) {
textPane.cut(); //调用文本窗格的剪切命令
}
}

class CopyAction extends AbstractAction { //拷贝命令
public CopyAction() {
super("拷贝");
}
public void actionPerformed(ActionEvent e) {
textPane.copy(); //调用文本窗格的拷贝命令
}
}

class PasteAction extends AbstractAction { //粘贴命令
public PasteAction() {
super("粘贴");
}
public void actionPerformed(ActionEvent e) {
textPane.paste(); //调用文本窗格的粘贴命令
}
}

class AboutAction extends AbstractAction { //关于选项命令
public AboutAction() {
super("关于");
}
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(EditorDemo.this, "简单的文本编辑器演示"); //显示软件信息
}
}

public static void main(String[] args) {
new EditorDemo();
}

}

这里有一个和记事本差不多的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b0cfb3d
推荐于2016-05-16 · 超过26用户采纳过TA的回答
知道答主
回答量:139
采纳率:0%
帮助的人:55.5万
展开全部

说起来比较复杂,具体可以看附件,里面有可运行的程序包notepad.jar,也有源代码。

在安装了jar或jdk环境下,执行java -jar notepad.jar,可以运行程序;或者直接双击运行(需要关联文件类型)


本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式