📄 notepad.java
字号:
fontItem.setAccelerator(KeyStroke.getKeyStroke('F', Event.CTRL_MASK,
false));
fontItem.addActionListener(this);
fontItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("字体(CTRL+F)");
}
});
formatMenu.add(colorItem);
colorItem.setMnemonic('H');
colorItem.setAccelerator(KeyStroke.getKeyStroke('I', Event.CTRL_MASK,
false));
colorItem.addActionListener(this);
colorItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("颜色(CTRL+I)");
}
});
formatMenu.addSeparator();
formatMenu.add(lineItem);
lineItem.setState(true);
lineItem.setEnabled(false);
lineItem.addItemListener(this);
lineItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("自动换行");
}
});
// 查看菜单组件
viewMenu.add(countItem);
countItem.addActionListener(this);
viewMenu.add(statueItem);
statueItem.setState(true);
statueItem.addItemListener(this);
statueItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("状态栏");
}
});
// 帮助菜单组件
helpMenu.add(aboutItem);
aboutItem.setMnemonic('A');
aboutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F8, 0,
false));
aboutItem.addActionListener(this);
aboutItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("关于(F8)");
}
});
// 工具栏
JToolBar tool = new JToolBar();
// 新建按钮
tool.setBorderPainted(true);
tool.setFloatable(true);
newicon = new ImageIcon("image/new.gif");
newButton = new JButton(newicon);
newButton.setToolTipText("新建");
newButton.setBorderPainted(false);
newButton.addActionListener(this);
newButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("新建(CTRL+N)");
}
});
tool.add(newButton);
// 打开按钮
openicon = new ImageIcon("image/open.gif");
openButton = new JButton(openicon);
openButton.setBorderPainted(false);
openButton.setToolTipText("打开");
openButton.addActionListener(this);
openButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("打开(CTRL+O)");
}
});
tool.add(openButton);
// 保存按钮
saveicon = new ImageIcon("image/save.gif");
saveButton = new JButton(saveicon);
saveButton.setBorderPainted(false);
saveButton.setToolTipText("保存");
saveButton.addActionListener(this);
saveButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("保存(CTRL+S)");
}
});
tool.add(saveButton);
// 撤销按钮
// 设置分割,下同
tool.addSeparator();
undoicon = new ImageIcon("image/undo.gif");
undoButton = new JButton(undoicon);
undoButton.setBorderPainted(false);
undoButton.setToolTipText("撤销");
undoButton.addActionListener(this);
undoButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("撤销(CTRL+Z)");
}
});
tool.add(undoButton);
// 重做按钮
redoicon = new ImageIcon("image/redo.gif");
redoButton = new JButton(redoicon);
redoButton.setBorderPainted(false);
redoButton.setToolTipText("重做");
redoButton.addActionListener(this);
redoButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("重做(CTRL+R)");
}
});
tool.add(redoButton);
// 复制按钮
copyicon = new ImageIcon("image/copy.gif");
copyButton = new JButton(copyicon);
copyButton.setBorderPainted(false);
copyButton.setToolTipText("复制");
copyButton.addActionListener(this);
copyButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("复制(CTRL+C)");
}
});
tool.add(copyButton);
// 剪切按钮
cuticon = new ImageIcon("image/cut.gif");
cutButton = new JButton(cuticon);
cutButton.setBorderPainted(false);
cutButton.setToolTipText("剪切");
cutButton.addActionListener(this);
cutButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("剪切(CTRL+X)");
}
});
tool.add(cutButton);
// 粘贴按钮
pasteicon = new ImageIcon("image/paste.gif");
pasteButton = new JButton(pasteicon);
pasteButton.setBorderPainted(false);
pasteButton.setToolTipText("粘贴");
pasteButton.addActionListener(this);
pasteButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("粘贴(CTRL+P)");
}
});
tool.add(pasteButton);
// 删除按钮
deleteicon = new ImageIcon("image/delete.gif");
deleteButton = new JButton(deleteicon);
deleteButton.setBorderPainted(false);
deleteButton.setToolTipText("删除");
deleteButton.addActionListener(this);
deleteButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("删除(Delete)");
}
});
tool.add(deleteButton);
tool.addSeparator();
// 字体设置按钮
fonticon = new ImageIcon("image/font.gif");
fontButton = new JButton(fonticon);
fontButton.setToolTipText("字体");
fontButton.setBorderPainted(false);
fontButton.addActionListener(this);
fontButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("字体(CTRL+F)");
}
});
tool.add(fontButton);
// 颜色设置按钮
coloricon = new ImageIcon("image/color.gif");
colorButton = new JButton(coloricon);
colorButton.setBorderPainted(false);
colorButton.setToolTipText("颜色");
colorButton.addActionListener(this);
colorButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("颜色(CTRL+I)");
}
});
tool.add(colorButton);
helpicon = new ImageIcon("image/help.gif");
tool.addSeparator();
// 帮助按钮
helpButton = new JButton(helpicon);
helpButton.setToolTipText("帮助");
helpButton.setBorderPainted(false);
helpButton.addActionListener(this);
helpButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("帮助(F8)");
}
});
tool.add(helpButton);
// 以下设置右键菜单
popupMenu = new JPopupMenu();
undopopupItem.addActionListener(this);
undopopupItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("撤销(CTRL+Z)");
}
});
popupMenu.add(undopopupItem);
redopopupItem.addActionListener(this);
redopopupItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("重做(CTRL+R)");
}
});
popupMenu.add(redopopupItem);
popupMenu.addSeparator();
cutpopupItem.addActionListener(this);
cutpopupItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("剪切(CTRL+X)");
}
});
popupMenu.add(cutpopupItem);
copypopupItem.addActionListener(this);
copypopupItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("复制(CTRL+C)");
}
});
popupMenu.add(copypopupItem);
pastepopupItem.addActionListener(this);
pastepopupItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("粘贴(CTRL+V)");
}
});
popupMenu.add(pastepopupItem);
deletepopupItem.addActionListener(this);
deletepopupItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("删除(Delete)");
}
});
popupMenu.add(deletepopupItem);
popupMenu.addSeparator();
seleteAllpopupItem.addActionListener(this);
seleteAllpopupItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("全选(CTRL+A)");
}
});
popupMenu.add(seleteAllpopupItem);
popupMenu.addSeparator();
fontpopupItem.addActionListener(this);
fontpopupItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("字体(CTRL+F)");
}
});
popupMenu.add(fontpopupItem);
colorpopupItem.addActionListener(this);
colorpopupItem.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("颜色(CTRL+I)");
}
});
popupMenu.add(colorpopupItem);
// 添加鼠标事件,弹出右键菜单
text.addMouseListener(
new MouseAdapter() { // anonymous inner class
// handle mouse press event
public void mousePressed(MouseEvent event) {
checkForTriggerEvent(event);
}
// handle mouse release event
public void mouseReleased(MouseEvent event) {
checkForTriggerEvent(event);
}
// determine whether event should trigger popup menu
private void checkForTriggerEvent(MouseEvent event) {
if (event.isPopupTrigger())
popupMenu.show(event.getComponent(), event.getX(),
event.getY());
}
} // end anonymous inner clas
); // end call to addMouseListener
// 工具栏鼠标事件,状态栏显示鼠标当前指于工具栏
tool.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("工具栏");
}
});
// 菜单栏鼠标事件,状态栏显示鼠标当前指于菜单栏
bar.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("菜单栏");
}
});
// 文本编辑框鼠标事件,状态栏显示鼠标当前指于文本编辑
text.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
statuelabel.setText("编辑");
}
//用鼠标点击的时候,可以显示编辑提示
public void mouseClicked(MouseEvent c) {
statuelabel.setText("编辑");
}
});
//文本键盘事件,当输入时显示当前总字数
text.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent event) {
int bytecount, count;
if (text.getSelectedText() == null) {
bytecount = text.getText().getBytes().length;
count = text.getText().length();
statuelabel.setText("全文:" + "\n" + "字数: " + count + " 个"
+ "\n" + "字节数:" + bytecount + "个");
}
}
});
//这是文本编辑用于侦听文本组件插入符的位置更改的侦听器,可以用来设置组件的显示状态
text.addCaretListener(new CaretListener(){
public void caretUpdate(CaretEvent e) {
//当文本没有选择时,剪切复制和删除不能点击
if(text.getSelectedText()==null)
{
cutItem.setEnabled(false);
cutpopupItem.setEnabled(false);
cutButton.setEnabled(false);
copyItem.setEnabled(false);
copypopupItem.setEnabled(false);
copyButton.setEnabled(false);
deleteItem.setEnabled(false);
deletepopupItem.setEnabled(false);
deleteItem.setEnabled(false);
}
//当文本进行选择时,可以进行剪切复制和删除了
else
{
//当进行字段选择时,状态栏显示当前选段的字数统计
int bytecount,count;
bytecount = text.getSelectedText().getBytes().length;
count = text.getSelectedText().length();
statuelabel.setText("您所选择的字段:" + "\n" + "字数: " + count
+ " 个" + "\n" + "字节数:" + bytecount + "个");
cutItem.setEnabled(true);
cutpopupItem.setEnabled(true);
cutButton.setEnabled(true);
copyItem.setEnabled(true);
copypopupItem.setEnabled(true);
copyButton.setEnabled(true);
deleteItem.setEnabled(true);
deletepopupItem.setEnabled(true);
deleteButton.setEnabled(true);
}
//如果可以撤销了
if(undo.canUndo()){
undoItem.setEnabled(true);
undopopupItem.setEnabled(true);
undoButton.setEnabled(true);
}
else
{
undoItem.setEnabled(false);
undopopupItem.setEnabled(false);
undoButton.setEnabled(false);
}
//如果可以重做了
if(undo.canRedo()){
redoItem.setEnabled(true);
redopopupItem.setEnabled(true);
redoButton.setEnabled(true);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -