java JTextArea 实现不可修改文本内容、右键菜单

java JTextArea 实现不可修改文本内容、右键菜单
java JTextArea 实现不可修改文本内容、右键菜单

最近在写聊天室...显示的文本框内容应该是不可以修改只能复制,但是JFC没有提供那种是否只可读的属性。

我从网上有看到有人写好了这种类,然后自己又添加了右键菜单出现复制、粘贴、剪切的功能

摘自https://www.360docs.net/doc/762864162.html,/mq612的源代码:

import java.awt.datatransfer.Clipboard;

import java.awt.datatransfer.DataFlavor;

import java.awt.datatransfer.Transferable;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.InputEvent;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import javax.swing.JFrame;

import javax.swing.JMenuItem;

import javax.swing.JPopupMenu;

import javax.swing.JScrollPane;

import javax.swing.JT extArea;

import javax.swing.KeyStroke;

import javax.swing.UIManager;

/**

* Java右键菜单实现文本组件内容的的复制、粘贴、剪切功能

*

* @author 五斗米<如转载请保留作者和出处>

* @bloghttps://www.360docs.net/doc/762864162.html,/mq612

*/

public class Test extends JFrame {

private static final long serialVersionUID = -5942087991012920147L;

private JScrollPane pane = null;

private TextAreaMenu text = null;

public Test() {

super("右键菜单");

try { // 使用Windows的界面风格

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

} catch (Exception e) {

e.printStackTrace();

}

text = new TextAreaMenu();

pane = new JScrollPane(text);

this.getContentPane().add(pane);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setSize(300, 200);

this.setVisible(true);

}

public static void main(String args[]) {

new Test();

}

/**

* 带有功能菜单的JT extArea

*

* @author 五斗米<如转载请保留作者和出处>

* @bloghttps://www.360docs.net/doc/762864162.html,/mq612

*/

class TextAreaMenu extends JTextArea implements MouseListener { private static final long serialVersionUID = -2308615404205560110L;

private JPopupMenu pop = null; // 弹出菜单

private JMenuItem copy = null, paste = null, cut = null; // 三个功能菜单public TextAreaMenu() {

super();

init();

}

private void init() {

this.addMouseListener(this);

pop = new JPopupMenu();

pop.add(copy = new JMenuItem("复制"));

pop.add(paste = new JMenuItem("粘贴"));

pop.add(cut = new JMenuItem("剪切"));

copy.setAccelerator(KeyStroke.getKeyStroke('C', InputEvent.CTRL_MASK)); paste.setAccelerator(KeyStroke.getKeyStroke('V', InputEvent.CTRL_MASK)); cut.setAccelerator(KeyStroke.getKeyStroke('X', InputEvent.CTRL_MASK)); copy.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

paste.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

cut.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

this.add(pop);

}

/**

* 菜单动作

* @param e

*/

public void action(ActionEvent e) {

String str = e.getActionCommand();

if (str.equals(copy.getText())) { // 复制

this.copy();

} else if (str.equals(paste.getText())) { // 粘贴this.paste();

} else if (str.equals(cut.getText())) { // 剪切this.cut();

}

}

public JPopupMenu getPop() {

return pop;

}

public void setPop(JPopupMenu pop) {

this.pop = pop;

}

/**

* 剪切板中是否有文本数据可供粘贴

*

* @return true为有文本数据

*/

public boolean isClipboardString() {

boolean b = false;

Clipboard clipboard = this.getToolkit().getSystemClipboard(); Transferable content = clipboard.getContents(this);

try {

if (content.getTransferData(DataFlavor.stringFlavor) instanceof String) {

b = true;

}

} catch (Exception e) {

}

return b;

}

/**

* 文本组件中是否具备复制的条件

*

* @return true为具备

*/

public boolean isCanCopy() {

boolean b = false;

int start = this.getSelectionStart();

int end = this.getSelectionEnd();

if (start != end)

b = true;

return b;

}

public void mouseClicked(MouseEvent e) {

}

public void mouseEntered(MouseEvent e) {

}

public void mouseExited(MouseEvent e) {

}

public void mousePressed(MouseEvent e) {

if (e.getButton() == MouseEvent.BUTTON3) { copy.setEnabled(isCanCopy());

paste.setEnabled(isClipboardString());

cut.setEnabled(isCanCopy());

pop.show(this, e.getX(), e.getY());

}

}

public void mouseReleased(MouseEvent e) {

}

}

}

我修改后可实现右键单击菜单、只可复制不可修改的代码

public class NoEditArea extends JT extArea implements MouseListener{

//以下代码实现右键复制功能

private static final long serialVersionUID = -2308615404205560110L;

private JPopupMenu pop = null; // 弹出菜单

private JMenuItem copy = null, paste = null, cut = null; // 三个功能菜单private void init() {

this.addMouseListener(this);

pop = new JPopupMenu();

pop.add(copy = new JMenuItem("复制"));

copy.setAccelerator(KeyStroke.getKeyStroke('C', InputEvent.CTRL_MASK)); copy.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

this.add(pop);

}

public void action(ActionEvent e) {

String str = e.getActionCommand();

if (str.equals(copy.getT ext())) { // 复制

this.copy();

}

}

public JPopupMenu getPop() {

return pop;

}

public void setPop(JPopupMenu pop) { this.pop = pop;

}

//文本组件是否具备复制的条件

public boolean isCanCopy() {

boolean b = false;

int start = this.getSelectionStart();

int end = this.getSelectionEnd();

if (start != end)

b = true;

return b;

}

public void mouseClicked(MouseEvent e) {

}

public void mouseEntered(MouseEvent e) { }

public void mouseExited(MouseEvent e) {

}

public void mousePressed(MouseEvent e) {

if (e.getButton() == MouseEvent.BUTTON3) {

copy.setEnabled(isCanCopy());

pop.show(this, e.getX(), e.getY());

}

}

public void mouseReleased(MouseEvent e) {

}

//以下代码实现不可修改文本框内容

public NoEditArea(/*String string,int rows,int columns*/){

super(/*string,rows,columns*/);

init();

addKeyListener(new KeyAdapter(){

public void keyTyped(KeyEvent key) {

key.consume();

}

public void keyPressed(KeyEvent key) {

JTextArea temp = (JTextArea)key.getSource();

int caretPos = temp.getCaretPosition();

switch(key.getKeyCode()){

case(KeyEvent.VK_LEFT):

case(KeyEvent.VK_BACK_SPACE):if(caretPos>0){temp.setCaretPosition(caretPos -1);}break;

case(KeyEvent.VK_RIGHT):if(caretPos

case(KeyEvent.VK_DELETE):System.out.println("aaa");break;

default:break;

}

key.consume();

}

public void keyReleased(KeyEvent key) {

key.consume();

}

});

}

}

NoEditArea已经封装好,直接用就可以了

如果是普通的JTextArea,实现右键复制、粘贴、剪贴功能

public class EditArea extends JTextArea implements MouseListener

{

public EditArea()

{

super();

init();

}

// 以下代码实现右键复制功能

private static final long serialVersionUID = -2308615404205560110L;

private JPopupMenu pop = null; // 弹出菜单

private JMenuItem copy = null, paste = null, cut = null; // 三个功能菜单private void init() {

this.addMouseListener(this);

pop = new JPopupMenu();

pop.add(copy = new JMenuItem("复制"));

pop.add(paste = new JMenuItem("粘贴"));

pop.add(cut = new JMenuItem("剪切"));

copy.setAccelerator(KeyStroke.getKeyStroke('C', InputEvent.CTRL_MASK)); paste.setAccelerator(KeyStroke.getKeyStroke('V', InputEvent.CTRL_MASK)); cut.setAccelerator(KeyStroke.getKeyStroke('X', InputEvent.CTRL_MASK)); copy.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

paste.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

cut.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

action(e);

}

});

this.add(pop);

public void action(ActionEvent e) {

String str = e.getActionCommand();

if (str.equals(copy.getT ext())) { // 复制

this.copy();

} else if (str.equals(paste.getText())) { // 粘贴

this.paste();

} else if (str.equals(cut.getText())) { // 剪切

this.cut();

}

}

public JPopupMenu getPop() {

return pop;

}

public void setPop(JPopupMenu pop) {

this.pop = pop;

}

//是否具备粘贴的条件

public boolean isClipboardString() {

boolean b = false;

Clipboard clipboard = this.getT oolkit().getSystemClipboard(); Transferable content = clipboard.getContents(this);

try {

if (content.getTransferData(DataFlavor.stringFlavor) instanceof String) {

b = true;

}

}catch(Exception e){

return b;

}

//文本组件是否具备复制的条件

public boolean isCanCopy() {

boolean b = false;

int start = this.getSelectionStart();

int end = this.getSelectionEnd();

if (start != end)

b = true;

return b;

}

public void mouseClicked(MouseEvent e) {

}

public void mouseEntered(MouseEvent e) { }

public void mouseExited(MouseEvent e) { }

public void mousePressed(MouseEvent e) {

if (e.getButton() == MouseEvent.BUTTON3) { copy.setEnabled(isCanCopy());

paste.setEnabled(isClipboardString());

cut.setEnabled(isCanCopy());

pop.show(this, e.getX(), e.getY());

}

}

public void mouseReleased(MouseEvent e) {

}

java文本编辑器实验报告

Java考核 课程名称Java程序设计 题目名称文本编辑器的设计与实现学生学院计算机学院 专业班级计算机17(2)班 学号3117004479 学生姓名李泽豪 指导教师赵锐 2018 年12 月11 日

一、课程题目 编程实现一个文本编辑器 使其具有新建、打开、保存,编辑(查找、替换、大小写转换等)、统计(字数、行数、字符数等)、格式(字体设置、字体大小、字体颜色、背景颜色等)等功能。 要求:基于JFrame窗体设计、使用菜单进行功能选择。 提示:字体颜色,背景颜色的设置,可使用javax.swing包中的JColorChooser类的静态方法showDialog()调用标准颜色对话框来完成;文件操作可通过javax.swing包中JColorChooser类中的showSaveDialog()、showOpenDialog()方法调用标准的的文件对话框来完成。 二、题目分析与设计 2.1开发环境 使用Eclipse开发软件 2.2需求分析 简单的文本编辑器提供给用户基本纯文本的文字编辑功能,能够读取计算机本地磁盘中的文本内容,将用户文本导入到磁盘中之中,以及实现基本的字体设置(字体,字号,字体颜色)简单的编辑字体的功能,以及统计(字数,行数,字符数),增强视觉体验的背景颜色功能等,简单而实用。而网络上的各种编辑器,有的功能不足(如自带的记事本),而有些编辑器功能太繁杂,仅以日常应用方面来说,一个文本编辑器只需要简单的功能就够了。 2.3功能构架 本程序要构建的文本编辑器按照题目要求,分为四个方面: (1)“文件”菜单:包括“新建”并提示是否保存已编辑内容,“打开”计算机本地磁盘的文本文件,主动“保存”自己已经编辑好的内容到电脑的磁盘或“另存为”新的文件之中,以及“退出”并提示是否保存已编辑的内容。 (2)“编辑”菜单:包括对已编辑文本的一个“查找与替换”功能,对已编辑英文文本的一个“大小写转换”功能。 (3)“格式”菜单:实现对文本的“字体”设置,“字体大小”以及“字体颜色”,还有

增加右键新建菜单office项及注册表修改新建菜单名称

(03版office)单击鼠标右键没有新建WORD\EXCEL怎么办? 1、增加word的方法(新建一个文本文档,把下面这段代码复制进去,存成.reg文件,直接双击运行,然后刷新几次就会发现右键的新建功能里面多了word): Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.doc] @="Word.Document.8" "Content Type"="application/msword" [HKEY_CLASSES_ROOT\.doc\OpenWithList] [HKEY_CLASSES_ROOT\.doc\OpenWithList\WordPad.exe] @="" [HKEY_CLASSES_ROOT\.doc\PersistentHandler] @="{98de59a0-d175-11cd-a7bd-00006b827d94}" [HKEY_CLASSES_ROOT\.doc\ShellNew] [HKEY_CLASSES_ROOT\.doc\Word.Document.6] [HKEY_CLASSES_ROOT\.doc\Word.Document.6\ShellNew] "FileName"="winword.doc" [HKEY_CLASSES_ROOT\.doc\Word.Document.8] [HKEY_CLASSES_ROOT\.doc\Word.Document.8\ShellNew] "FileName"="winword8.doc" [HKEY_CLASSES_ROOT\.doc\WordDocument] [HKEY_CLASSES_ROOT\.doc\WordDocument\ShellNew] "FileName"="winword2.doc" [HKEY_CLASSES_ROOT\.doc\WordPad.Document.1] [HKEY_CLASSES_ROOT\.doc\WordPad.Document.1\ShellNew] "NullFile"="" 2、增加excel的方法(新建一个文本文档,把下面这段代码复制进去,存成.reg文件,直接双击运行,然后刷新几次就会发现右键的新建功能里面多了excel): Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.xls] "Content Type"="application/vnd.ms-excel" @="Excel.Sheet.8" [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.5] [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.5\ShellNew] "FileName"="excel.xls" [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.8] @="" [HKEY_CLASSES_ROOT\.xls\Excel.Sheet.8\ShellNew] "FileName"="excel9.xls" [HKEY_CLASSES_ROOT\.xls\ExcelWorksheet] [HKEY_CLASSES_ROOT\.xls\ExcelWorksheet\ShellNew] "FileName"="excel4.xls"

常用的注册表项目编辑

二、桌面外观的修改实例 1.全面定制“开始”菜单中的图标(适用范围:Windows 9x/Me/NT/2000/XP) “开始”菜单是用户最常使用的,它里面有“程序”、“文档”、“设置”、“搜索”、“帮助”、“运行”和“关机”等几项图标,我们可以通过修改注册表来加以改变。 首先运行注册表编辑器,进入到注册表项HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ Explorer\Shell Icons。如果该注册表项不存在,则创建它。 在该注册表项下创建如下表中罗列的字符串类型的值项,并且修改它们的值为新的图标。(如图表) 重新启动计算机,“开始”菜单中的图标就全部换成了新的图标。 提示:图标可以直接使用可执行文件中的图标。例如“explorer.exe,3”,表示使用explorer.exe文件中的第4个图标。 2.增加和删除“开始”菜单中的项目 一般情况下,“开始”菜单中有“程序”、“文档”、“设置”、“搜索”、“帮助”、“运行”和“关机”这几项。通过修改注册表,我们可以将一些不常用的项

从“开始”菜单中删除。如果有特殊的目的,例如网吧中的计算机可能不想让使用者使用“开始”菜单中的“控制面板”来随意改变计算机的设置,也可以使用此方法。 下表中的值项,都位于注册表项HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\Explorer中。(如图表) 3.增加和删除桌面的固定项目(适用范围:Windows 9x/Me/NT/2000/XP)一般情况下,桌面上都有“我的电脑”、“网上邻居”、“回收站”、“我的文档”等。通过修改注册表,我们可以不让这些项目显示在桌面上。这对于不希望使用者胡乱操作的场合是有用处的。例如对于网吧中的计算机,就可以将全部的桌面项目隐藏起来,以防止使用者通过“我的电脑”

部分单机游戏的注册表项目

部分单机游戏的注册表项目,方便重装系统的朋友们导入,解决重新下载、安装游戏的烦恼-------------------------------------------------------------------------------- windsage2007-10-25 16:41 ; 战地2注册表 RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\EA Games\Battlefield 2',"Language","REG_SZ","Chinese") RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\EA Games\Battlefield 2',"Locale","REG_SZ","zh_TW") RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\EA Games\Battlefield 2',"InstallDir","REG_SZ",$GamePath&"Battlefield 2") RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\EA Games\Battlefield 2\ergc',"","REG_SZ","6YPXFR7MQBCGY6267RLD") RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\EA Games\Battlefield 2\wdc',"","REG_SZ","false") ; CS1.5注册表 RegWrite ('HKEY_CURRENT_USER\Software\Valve\CounterStrike\Settings',"Key","REG_SZ","401205 2616264") ; CS1.6注册表 RegWrite ('HKEY_CURRENT_USER\Software\Valve\Half-Life\Settings',"ValveKey","REG_SZ","5RP2E-EPH3K-BR3LG-KMGTE-FN8PY") RegWrite ('HKEY_CURRENT_USER\Software\Valve\Steam',"Language","REG_SZ","schinese") RegWrite ('HKEY_CURRENT_USER\Software\Valve\Steam',"Skin","REG_SZ","") RegWrite ('HKEY_CURRENT_USER\Software\Valve\Steam',"Rate","REG_SZ","") ; 实况足球8注册表 RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\KONAMIWE8IU\WE8IU',"lang_e","REG_DWORD",' 0') RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\KONAMIWE8IU\WE8IU',"lang_f","REG_DWORD",'0 ') RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\KONAMIWE8IU\WE8IU',"lang_g","REG_DWORD",' 0') RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\KONAMIWE8IU\WE8IU',"lang_i","REG_DWORD",'0') RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\KONAMIWE8IU\WE8IU',"lang_s","REG_DWORD",'1

java课设—文本编辑器的设计与实现

淮 海 工 学 院 计算机工程学院
课程设计报告
设计名称: 选题名称: 姓 名: 面向对象课程设计 文本编辑器的设计与实现 学 号:
专业班级: 系 (院) : 设计时间: 设计地点: 计算机工程学院 2015.6.21~2014.7.4 计算机楼机房、教室、宿舍
指导教师评语:
成绩:
签名:
年 月 日

面向对象课程设计报告

1
页,共
14

1.课程设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程 后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理 论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本方法,提高运用 面向对象知识分析实际问题、解决实际问题的能力。
2.课程设计任务与要求:
课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可能熟 练掌握其中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系 统用例图和类图,并将 UML 图复制到设计报告中。 通过这次设计,要求掌握以下内容: 1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 2)类、包、接口的定义与使用 3)常用工具类与算法的实现(数组、向量、字符串、链表) 4)Java 常用标准 GUI 组件及其事件处理 5)Java 的异常处理机制 6)Java 的数据库连接技术 7)Java 的多线程技术与动画制作 8)Java 的网络编程 任务: 设计一个类似于 Windows 记事本(Notepad)的 Java 程序。可以打开、新建、保存一个文本 文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复 制、粘贴、剪切、查找、替换等) ;在文本中能够插入对象。简单文本编辑器提供给用户基本的 纯文本编辑功能, 能够将用户录入的文本存储到本地磁盘中。 能够读取磁盘中现有的纯文本文件, 以及方便用户进行需要的编辑功能。

注册表里修改你的右键菜单

鼠标的右键选单中有很多快捷命令,给日常操作带来了很大的方便。但是,系统不可能做到将所有的命令都集成到右键选单中,有时需要的命令根本就不存在,这就只能靠我们自己动手添加和删除进去了。下面就告诉大家几个添加快捷命令的方法: 1:如何去掉右键菜单中的内容 打开注册表(C:WindowsRegedit.exe),查找有关该连接名的键值,找到删除就OK了。 .或者直接通过“开始->运行->regedit”进入注册表,来到 “HKEY_CURRENT_USERSoftwareMicrosoftInternetExplorerMenuExt”位置,点击文件夹的“+”号,可以看到常见的下载软件网际快车右键下载等等的信息,直接删除不想要的即可。也可以用3721清理 2:添加“关闭计算机” 一般我们都是通过点“开始”→“关闭系统”→“关闭计算机”→“确定”来关闭计算机的,其实还有更简捷的办法。打开注册表编辑器,找到“HKEY_CLASSES_ ROOT\Directory \shell”主键,新建一个名为“Close”的主键,双击窗口右侧的“默认”,并在“键值”栏内输入“关闭计算机”。接着在“Close”主键下建立下一级子键“Command”,双击该子键窗口右面的“默认”,并在键值栏内输入“RUNEDLL32.EXE USER.EXE,EXITWINDOWS”。完成后,右击“开始”选单就可以看到“关闭计算机”选项了。参照上述方法读者也可为右键添加“重新启动计算机”命令。 3:添加“快速查看” 在注册表编辑器中找到“HKEY_CLASSES_ROOT\*”子项,在右边窗口中新建一个主键,将其名称设置为“快速查看”,双击该子键的“默认”值项,在“数值数据”中输入“*”。修改后,在鼠标的右键选单中会看到“快速查看”项,无需启动其他软件就能直接查看很多种格式的文件。 4:添加“在新窗口打开” 有时我们需要反复地点击“向上”或“后退”按钮切换不同的窗口,其实我们可以在右键选单中增加“在新窗口打开”命令简化操作。在注册表编辑器中,依次展开 “HKEY_LOCAL_MACHINE\Software\CLASSES\Directory\shell”主键,在其下添加一个新的主键,命名为“Openw”,并且设定“默认”键值的数据为“在新窗口打开”。接着在“Openw”下新建一个主键,命名为“Command”,并在“默认”键值栏内填入“explorer.exe %1”。完成后关闭注册表编辑器,重新启动计算机,设置生效 5:添加“计算器” 经常使用系统计算器进行运算的朋友肯定想通过有效方法快捷启动计算器。打开注册表编辑器,定位到“HKEY_CLASSES_ROOT\Directory\shell”,右键单击,在其下新建一个主键,将其命名为“Calculator”。这时双击右侧窗口中的“默认”,输入“计算器(&C)”,接着右键单击“Calculator”分支,在其下新建名为“C:\Windows\calc.exe ”。关闭注册表,用鼠

命令编写注册表文件修改注册表项

命令编写注册表文件修改注册表项 2009年03月29日星期日 13:28 命令编写注册表文件修改注册表项 1、何谓REG文件 REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中。利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的操作可以不受注册表编辑器被禁用的限制,因此功能更为强大、灵活,另外,由于REG文件可以用任何文本文件编辑工具(例如记事本)进行修改,因此通过它对注册表数据进行修改后,如果发生错误,还可以通过改回REG文件中的数据后再导入,从而实现恢复操作,因此它又较之直接用注册表编辑器修改更安全,所以熟练掌握REG文件的运用,有时可以起到事半功倍、意想不到的效果。 2、创建REG文件 REG文件的创建是非常简单的,可以通过任何一个文本文件编辑工具来实现。我们就以创建一个可以解除注册表禁用限制的REG文件restore.reg为例来介绍一下具体过程。 打开记事本,在记事本文件中输入以下内容: REGEDIT4 空一行 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]"DisableRegistryTools"=dword : 00000000 保存此文件,在打开的“另存为”对话框中选择好保存路径,再单击“保存类型”中的下拉箭头选择“所有文件”(一定要选择此步,不然保存后的文件会自动加上TXT的扩展名),然后在“文件名”中输入“restore.reg”后按“保存”按钮。以后你就可以通过双击这个 restore.reg来直接解除禁用注册表的限制。 3、对REG文件进行修改 我们在利用REG文件对注册表进行操作时,要操作的对象有两种:一种是对主键进行操作,一种是对主键下的键值项目进行操作。对主键的操作有添加、删除两种,而对键值项目的操作则分为添加、修改和删除三种。下面我们就一个一个来实现。 1、对主键的操作 (1)添加主键 要想利用REG文件在注册表中添加一个主键是非常方便的,只需要在文件体部分直接以“[ ]”的形式写上要添加的主键路径即可。 例如:在HKEY_LOCAL_MACHINE\Software主键下添加一个名称为“软件工作室”的主键,内容如下: REGEDIT4 空一行 [HKEY_LOCAL_MACHINE\Software\软件工作室] (2)删除主键 要用REG文件在注册表中删除一个主键,在文件体部分“[ ]”括起来的主键路径前面加上一个“-”符号即可,删除主键操作将会一并删除该主键下的所有子键及其键值项目,所以这是个比较危险的命令,使用要十分注意。例如要删除我们刚才添加的那个主键,内容如下:REGEDIT4 空一行 [-HKEY_LOCAL_MACHINE\Software\软件工作室]

常用注册表命令大全

常用注册表命令大全 开始菜单及相关设置》 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Policies\Explorer] "NoRecentDocsMenu"=dword:00000001(隐藏开始->文档菜单)"NoRecentDocsHistory"=dword:00000001(禁止将打开的文档存入历史记录)"ClearRecentDocsOnExit"=dword:00000001(退出系统自动清除历史记录,包括文档、运行和查找) "NoFavoritesMenu"=dword:00000001(隐藏开始->收藏夹菜单) "NoSMHelp"=dword:00000001(隐藏开始->帮助菜单)(WIN2000/ME/XP) "NoFind"=dword:00000001(禁用查找/搜索) "NoRun"=dword:00000001(禁用运行,禁止IE访问本地资源,除非输入"桌面",禁止WIN2000/XP通过任务管理器创建新任务) "NoLogOff"=dword:00000001(禁用注销)(WIN9X) "StartMenuLogOff"=dword:00000001(禁用注销)(WIN2000/XP) "NoClose"=dword:00000001(禁用关闭系统/关闭计算机) "NoSetFolders"=dword:00000001(隐藏控制面板、打印机/网络连接,WIN2000/XP仅从开始菜单隐藏;此外还禁用WIN+E快捷键) "NoSetTaskbar"=dword:00000001(禁止设置任务栏和开始菜单)"NoFolderOptions"=dword:00000001(从开始->设置菜单和资源管理器菜单中删除文件夹选项) "NoWindowsUpdate"=dword:00000001(从开始菜单中删除Windows Update,禁止到Windows Update网站升级) "NoSetActiveDesktop"=dword:00000001(从开始->设置菜单中删除活动桌面)(WIN9X)"NoActiveDesktop"=dword:00000001(禁用活动桌面,WIN9X/2000在桌面右键菜单和显示属性里不出现相关项目) "NoActiveDesktopChanges"=dword:00000001(禁止更改活动桌面,在显示属性里不出现相关项目) 《资源管理器设置》 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Policies\Explorer] "NoFileMenu"=dword:00000001(隐藏Explorer中的文件菜单)"NoNetConnectDisconnect"=dword:00000001(禁止使用资源管理器或网上邻居映射或断开网络驱动器) "NoWebView"=dword:00000001(禁止按Web页查看)(WIN2000/XP) 1《隐藏桌面图标》 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Policies\Explorer] "Nodesktop"=dword:00000001(隐藏桌面所有图标) "NoNetHood"=dword:00000001(隐藏桌面网上邻居图标) "NoInternetIcon"=dword:00000001(隐藏桌面Internet Explorer图标) 2《禁止使用鼠标右键》 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV ersion\Policies\Explorer]

基于java的文本编辑器开发

基于java的文本编辑器开发 当今,计算机以及网络技术的飞速发展,社会正快速向信息化社会前进,我们需要更智能,更专业的软件帮助我们完成工作,从而提高了工作效率。 目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。 本文本编辑器的开发主要包括界面窗口的菜单栏和工具栏以及树结构,还有链接Java虚拟机实现编译与运行。使用SUN公司的Java中的GUI作为开发技术,利用其提供的各种类与接口,首先建立系统应用原型。 本文本编辑器的开发采用JDK6.0和 UltraEdit为开发工具,操作系统为Windows98/Windows 2000/Windows XP等。

目录 1 前言 (3) 2 问题的提出及可行性研究 (4) 2.1问题的提出及定义 (4) 2.2可行性研究 (5) 2.2.1 对现行文本编辑器的分析 (5) 2.2.2 新文本编辑器的可行性研究分析 (5) 3 用户需求分析 (7) 3.1用户调查 (7) 3.2确定目标系统的功能 (7) 4 系统设计与开发环境 (8) 4.1系统相关类的设计 (8) 4.2开发语言及其开发环境 (12) 4.2.1开发语言概述 (12) 4.2.2 Java开发环境——JDK的介绍 (14) 4.3环境变量的设置 (15) 4.3.1.环境变量的作用 (15) 4.3.2 如何设置环境变量 (16) 5 关键技术和源代码的实现 (18) 5.1关键技术剖析 (18) 5.2源码分析 (19) 6 系统测试 (46) 6.1测试方案 (46) 6.2测试项目 (46) 6.3编辑器截图演示 (47)

鼠标右键菜单设置大全(网页版)

注册表修改右键菜单 在Windows 系统中,只要对着桌面或是文件(夹)单击右键,就会弹出一个快捷菜单,里面有对该文件(夹)的一些常用操作命令,通过右键菜单,可以方便用户对文件的某些操作。不知道你是否对它感兴趣?是否想对它作一番改头换面,做出有自己特色的右键菜单?不用着急,看完本文的大揭密,你将成为这方面的高手! 修改右键菜单应该在注册表中,具体的说,是在HKEY_CLASSES_ROOT根键下(这里可是右键菜单中所有命令的根源哦!)。展开该根键,其下的子键主要有两种:扩展名键(.+扩展名)和类定义键(如图1)。一般地说,只要是在windows系统中已注册过的扩展名,在 HKEY_CLASSES_ROOT下均有“·该扩展名”子键 ,记录该扩展名的一些信息,对某种特定类型的文件的右键菜单的修改,便是在该键或“扩展名file”键下的操作。 1、在所有的文件右键菜单中加入命令 如果你的系统上安装有Winzip、UltraEdit等,当你对任一文件点右键时,都会有“Add to zip”、“UltraEdit-32”等命令(当然,Winzip稍有不同,我将在后面讲到)。它的添加方法是: (1).打开“HKEY_CLASSES_ROOT\*”; (2).在其下新建“shell\命令\command”分支,再将command的键值设为执行该命令时所用的可执行程序的绝对路径,并在其后加“%1”即可。 例:在“HKEY_CLASSES_R

OOT\*”下新建“shell\用写字板打开\command”子键,将command的键值设为 “c:\windows\notepad.exe %1”,就会在右键菜单中出现“用写字板打开”的命令了(如图2)。 说明: 1. 要删除该类命令,只需将“命令”子键删除即可; 2. 有的人或许会问他按我写的去做,但是得到的为何与我的有一些不同,这就是我的命令里有快捷键(N),只要在“用写字板打开”后加入“(&amp;N)”即可。 2、在特定文件类型的右键菜单中加入命令 刚才说到了Winzip这个软件,对普通的文件类型,它的右键菜单中有“Add to zip”,但是对它所支持的压缩文件类型,如*.zip、*.cab、*.rar在其右键菜单中有“Open with Winzip”、“Extract to”、“Extract to folder”、“Create Self-Extractor(.EXE)” 等命令,对于自解压性安装文件(如OICQ99b),其右键菜单中有“Run with Winzip”命令。下面是特定文件类型的右键菜单的命令添加方法(以在mp3文件的右键菜单中加入Play with winamp为例): (1).打开“HKEY_CLASSES_ROOT\mp3_auto_file”主键; (2).在其下新建“shell\Play with Winamp(&amp;P)\command”,将command的键值设为“C:\Program files\winamp\winamp.exe %1”。 说明:当有多个软件可以播放mp3文件时,我们可以在右键菜单中添加多条命令,如加入“Play with Unreal”等命令,但是我们如何将某一条命令定义为默认操作(即右键菜单中的黑体命令)呢?

注册表修改指南——注册表各键值详解

注册表修改指南——注册表各键值详解 您可以可以按Ctrl+F键进行页面内搜索来方便地找到您想要的内容。 开始菜单及相关设置 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoRecentDocsMenu"=dword:00000001(隐藏开始->文档菜单) "NoRecentDocsHistory"=dword:00000001(禁止将打开的文档存入历史记录)"ClearRecentDocsOnExit"=dword:00000001(退出系统自动清除历史记录,包括文档、运行和查找)"NoFavoritesMenu"=dword:00000001(隐藏开始->收藏夹菜单) "NoSMHelp"=dword:00000001(隐藏开始->帮助菜单)(WIN2000/ME/XP) "NoFind"=dword:00000001(禁用查找/搜索) "NoRun"=dword:00000001(禁用运行,禁止IE访问本地资源,除非输入"桌面",禁止WIN2000/XP 通过任务管理器创建新任务) "NoLogOff"=dword:00000001(禁用注销)(WIN9X) "StartMenuLogOff"=dword:00000001(禁用注销)(WIN2000/XP) "NoClose"=dword:00000001(禁用关闭系统/关闭计算机) "NoSetFolders"=dword:00000001(隐藏控制面板、打印机/网络连接,WIN2000/XP仅从开始菜单隐藏;此外还禁用WIN+E快捷键) "NoSetTaskbar"=dword:00000001(禁止设置任务栏和开始菜单) "NoFolderOptions"=dword:00000001(从开始->设置菜单和资源管理器菜单中删除文件夹选项)"NoWindowsUpdate"=dword:00000001(从开始菜单中删除Windows Update,禁止到Windows Update网站升级) "NoSetActiveDesktop"=dword:00000001(从开始->设置菜单中删除活动桌面)(WIN9X)"NoActiveDesktop"=dword:00000001(禁用活动桌面,WIN9X/2000在桌面右键菜单和显示属性里不出现相关项目) "NoActiveDesktopChanges"=dword:00000001(禁止更改活动桌面,在显示属性里不出现相关项目) 资源管理器设置 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoFileMenu"=dword:00000001(隐藏Explorer中的文件菜单)"NoNetConnectDisconnect"=dword:00000001(禁止使用资源管理器或网上邻居映射或断开网络驱动器) "NoWebView"=dword:00000001(禁止按Web页查看)(WIN2000/XP) 隐藏桌面图标 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] "Nodesktop"=dword:00000001(隐藏桌面所有图标) "NoNetHood"=dword:00000001(隐藏桌面网上邻居图标) "NoInternetIcon"=dword:00000001(隐藏桌面Internet Explorer图标) 禁止使用鼠标右键

编辑右键菜单设置

我经常看见有人发帖子询问怎么修改右键菜单。提问人说的含糊,所以建议用软件去改。软件占地方,也不太人性化。我建议如果还明白一点注册表的话还是修改注册表。 下面我把常用的修改方法搜索整理,并且每项都亲测了一遍,提供给大家:(建议大家在操作前备份注册表以防万一和还原,备份方法,打开注册表—文件—导出即可) 1 桌面右键菜单: (1) 删除不常用菜单项 单击Windows的“开始”菜单,单击“运行”,在“打开”框中键入“regedit”,单击“确定”按钮,打开“注册表编辑器”窗口。 展开“HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers”分支,在其下找到要删除的无用项(要明确你要删除的是什么功能),然后右键单击该项,再单击“删除”将其删除即可清除右键菜单中的对应选项。 关闭“注册表编辑器”窗口。 (2) 给回收站添加重命名,删除 找到下面菜单项 HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00A A002F945E}\ShellFolder

在右边窗口修改Attributes 的值。其中各组数据表示的含义是:键值 打开00 00 00 20 剪切02 00 00 00 复制01 00 00 00 粘贴00 01 00 00 删除20 00 00 00 重命名10 00 00 00 属性40 00 00 00 如果你要显示某些命令,只需将该命令所对应的键值相加,结果作为attributes的键值即可。 把系统默认的数据数值73 10 00 20 (简单点的就是ctrl+find搜索回收站,见到就改名字。这个方法总反弹) (3)清除任何显卡生成的桌面右键菜单方法修改注册表文件。(我的是ATI) 依次展开 HKEY_CLASSES_ROOT\ Directory\Background\shellex\ContextMenuHandlers键值,删除其中的“igfxcui”键或者“ACE”(这个是显卡),然后重新启动系统或者注销即可删除桌面菜单上的那三个选项。只保留new项值

注册表修改大全

1、在开始/设置/屏幕里出现竖屏/横屏的手动调节菜单 HKLM\System\GD\Rotation\HideOrientationUI 键值从"1"改为"0" 2、垂直滚动条变粗点(避免误操作) HKEY_LOCAL_MACHINE\System\GWE cyHScr改为15 3、来电时,将显示屏朝下关断铃声 HKEY_LOCAL_MACHONE\Software\HTC\PHONE中,FaceDownMuteRing 的键值改为"1" 4. 关掉开机动画和声音 HKEY_LOCAL_MACHONE\Software\HTC\HTCAnimation中"StartupGif"和"StartupWav"两个键改成其它名字; [这个方法我感觉是只是不显示不美观,但仍有停留时间,我喜欢在设备配置的待机界面将微软和运营商的待机界面显示时间由30000改为10000] 5、关闭“短信已发送”的提示信息 HKEY_LOCAL_MACHINE/SOFTWARE/icrosoft/Inbox 底下新建一个叫做Settings的项然后增加名字为SMSNoSentMsg 的Dword值,值设定为1 [另一种方法:在系统配置的信息设置中,将SMS已发送提示由“启用”改为“禁用”]

6、内存卡改名 HKEY_LOCAL_MACHONE\system\storagemanager\profiles Folder值由“存储卡”改为英文名“Storage Card”,或相反 7、防止通话时屏幕自动关闭 HKLM\Drivers\BuiltIn\RIL\EnableFastDormantDisplayDuringCall 键值设为"0" HKCU\ControlPanel\Phone Sleep置为"0" [第一次起作用,后来装了其它的通话录音软件就不行了] 8、调整屏幕灵敏度 HKLM\Drivers\TouchPanel\PressureThreshold 键值改为"240"(十进制,缺省值为"39") 9、更改TouchFLO 3D首页和主页左右软键功能 [网上介绍的注册表修改太复杂了,完全可用“KeySwop 0.4.1 左右软键设置工具”的软件修改更为方便] 10、新接收短信唤醒 HKLM\Drivers\BuiltIn\RIL DisableSMSWakeUpEvent的键值缺省值为"1",改为"0";

java文本编辑器

软件学院 课程设计报告书 课程名称 设计题目文本编辑器的设计与实现 专业班级XXXXXXXXXXX 学号xxxxxxxxxx 姓名xxx 指导教师

2011 年11月

1 设计时间 2011年11月 2 设计目的 《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。 3设计任务 文本编辑器的设计与实现:设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。 4 设计内容 4.1需求分析 需求分析的任务是确定功能必须完成的工作,也就是对目标系统提出完整、准确、清晰、具体的要求。简单文本编辑器提供给用户基本的纯文本编辑功能,能够将用户录入的文本存储到本地磁盘中。能够读取磁盘中现有的纯文本文件,以及方便用户进行需要的编辑功能。文件操作能够实现新建、保存、打开文档等,编辑操作能过实现文本的剪贴、复制、粘贴等,格式操作能过实现字体设置、背景等,帮助操作能够实现关于主题的查看等功能。 4.2概要设计 4.2.1程序基本功能概括

通过注册表修改菜单栏、任务栏和工具栏

注册表实验七 1. 禁用快捷菜单中的[工具栏]选项(Windows 9x/2000/XP) (1)打开注册表编辑器。 (2)打开 HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\Explorer子键。 (3)新建双字节值NoCloseDragDropBands,数值设为1。 (4)重启电脑后可看到任务栏快捷菜单中的[工具栏]选项的子菜单变成了不可用的灰色。 2.禁止更改任务栏设置(Windows 9x/2000/XP) 右击任务栏原本可以在弹出的快捷菜单中选择[属性]以对任务栏进行设置,但在网吧里却不可行,因为这也是通过修改注册表来禁止的。 (1)打开注册表编辑器。 (2)打开 HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\Explorer子键。 (3)新建双字节NoSetTaskBar,数值设为1。 (4)重启电脑后单击任务栏快捷菜单中的[属性]选项,系统会弹出限制的消息框。

3.禁止任务栏快捷菜单的弹出(Windows 9x/2000/XP) (1)打开注册表编辑器。 (2)打开 HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\Explorer子键。 (3)新建二进制值NoTrayContextMenu,数值设为“01 00 00 00”。 (4)重启电脑后将会发现任务栏的快捷菜单已不见了。 4 在快捷菜单中加入进入DOS方式选项(Windows 9x/2000/XP) 相必对于DOS的使用大家都十分清楚,每当进入某个文件夹都需使用cd命令加上文件名,如果是较为深入的子目录那可是件头痛的事,因为输入文件名都输入到手软。因此可通过修改注册表,在快捷菜单中添加DOS选项,这时只要对该文件夹点击鼠标右键即可进入DOS状态下进行操作。方法如下: (1)打开注册表编辑器。 (2)打开HKEY_CLASSES_ROOT\Directory\shell子键。 (3)在其下面新建子键CommandPrompt并进入。

注册表常用编辑

刪除IE工具栏图标 HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions msconfig中启动里的多余项如果删除 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg 删除msconfig里的记录 HKAY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CurrentVersion\RUN或RUNONCE和HKAY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CurrentVersion\RUN或RUNONCE或RUNONCEEX或RUNSERVERS 删除桌面上不必要的图标 HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows\CurrentVersion\explorer\Desktop/Namespace 怎样把桌面上的回收站隐藏? 三种方法: 运行-gpedit.msc-用户配置-管理模板-桌面-从桌面上删除回收站图标-(配置为启用,保存OK) 开始--运行输入regedit,打开注册表,找到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NonEnum(没有该项则新建) 在该项下新建一个DWORD值,并命名为{645FF040-5081-101B-9F08-00AA002F954E},修改其参数为1即可; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop \NameSpace 将{645FF040-5081-101B-9F08-00AA002F954E}项删除便可重新登录后生效~隐藏桌面所有图标 在开始-运行输入regedit进入注册表,找到子键“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer”,新建“DWORD”值“NoDesktop”,其值为“1”。重新启动系统后,会发现任务栏的快速启动图标消失了~ 如何隐藏桌面图标 这里说得狭隘一点,桌面图标就是指系统的桌面图标:my computer、Recycle Bin、My Document、My Network Places之列。

相关文档
最新文档