📄 jishiben.java
字号:
}
fileName = null;//文件未更改ho或已处理,初始化当前编辑器
text.setText("");
setTitle("小小记事本");
isChange = false;
return;
}
private void openPerformed() {
BufferedReader input = null;
String textString;
int ret = fileChooser.showOpenDialog(this);
if(ret != JFileChooser.APPROVE_OPTION)
return;
newPerformed();
fileName = fileChooser.getSelectedFile();
if(fileName.exists() && fileName.canRead()) {
setTitle("小小记事本: " + fileName.getName());
try{
input = new BufferedReader(new FileReader(fileName));
while((textString = input.readLine()) != null)
text.append(textString + "\n");
input.close();
}
catch(IOException e) {
JOptionPane.showMessageDialog(this, "文件打开错误,没有打开");
}
finally {
input = null;
}
}
isChange = false;
return;
}
private void savePerformed() {
if(!hasChange())
return;
FileWriter output = null;
if(fileName != null && fileName.exists()) {
try{
output = new FileWriter(fileName);
output.write(text.getText());
}
catch(IOException e)
{
JOptionPane.showMessageDialog(this, "文件写入错误,没有保存");
}
finally {
try{ output.close();}catch(IOException ee){}
output = null;
}
isChange = false;
}
else
saveAsPerformed();
}
private void saveAsPerformed() {
if(!hasChange())
return;
FileWriter output = null;
int ret = fileChooser.showSaveDialog(this);
if(ret != JFileChooser.APPROVE_OPTION) {
isChange = true;
return;
}
fileName = fileChooser.getSelectedFile();
setTitle("小小记事本: " + fileName.getName());
try{
output = new FileWriter(fileName);
output.write(text.getText());
}
catch(IOException e){
JOptionPane.showMessageDialog(this, "文件写入错误,没有保存");
}
finally{
try{ output.close();}catch(IOException ee){}
output = null;
}
isChange = false;
return;
}
/* private void pageSetPerformed() {
System.out.println("显示页面设置对话框");
}
private void printPerformed() {
System.out.println("显示打印对话框");
}*/
private void exitPerformed() {
String[] buttonTexts = {"保存退出", "不保存退出", "取消"};
int value = -1;
if(hasChange()) {
value = JOptionPane.showOptionDialog(this, "源程序已经改变,请是否选择保存或直接退出!", "退出程序", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, buttonTexts, buttonTexts[0]);
switch(value)
{
case JOptionPane.YES_OPTION:
savePerformed();
break;
case JOptionPane.NO_OPTION:
System.exit(0);
break;
case JOptionPane.CANCEL_OPTION:
isChange = true;
return;
}
}
else
System.exit(0);
}
/* private void undoPerformed() {
try{
if(undo.canUndo())
undo.undo();
}catch(CannotUndoException e) {
JOptionPane.showMessageDialog(this, "无法执行撤销操作", "撤销异常", JOptionPane.WARNING_MESSAGE);
}
}
private void redoPerformed() {
try{
if(undo.canRedo())
undo.redo();
}catch(CannotRedoException e) {
JOptionPane.showMessageDialog(this, "无法执行恢复操作", "恢复异常", JOptionPane.WARNING_MESSAGE);
}
}*/
private void cutPerformed() {
//textArea.cut();
placeHolder=text.getSelectedText();
text.replaceRange("",text.getSelectionStart(),text.getSelectionEnd());
statusBar.setText("执行了cut操作");
}
private void copyPerformed() {
// textArea.copy();
placeHolder=text.getSelectedText();
statusBar.setText("执行了copy操作");
}
private void pastePerformed() {
//textArea.paste();
text.insert(placeHolder,text.getCaretPosition());
statusBar.setText("执行了Paste操作");
}
private void deletePerformed() {
text.replaceRange(null, text.getSelectionStart(), text.getSelectionEnd());
}
private void foreColorPerformed(){
color1=color.showDialog(this,"请选择字体颜色",Color.BLACK);
text.setForeground(color1);
}
private void backColorPerformed(){
color2=color.showDialog(this,"请选择背景颜色",Color.WHITE);
text.setBackground(color2);
}
/* private void findPerformed() {
String findString = JOptionPane.showInputDialog(this, );
}
private void findNextPerformed() {
System.out.println("查找下一个");
}
private void replacePerformed() {
System.out.println("替换");
}
private void goToLinePerformed() {
System.out.println("转到");
}
private void selectAllPerformed() {
textArea.selectAll();
}
private void timePerformed() {
textArea.insert((new Date()).toString(), textArea.getSelectionEnd());
}
private void autoNextLinePerformed() {
System.out.println("自动换行");
}
private void fontPerformed() {
System.out.println("字体");
}
private void helpPerformed() {
System.out.println("帮助主题");
}
private void aboutPerformed() {
System.out.println("关于程序");
}
*/
/**
*<p>Title: </p>
*<p>Description: 处理菜单出发的事件</p>
*<p>Copyright: Copyright (c) 2005</p>
*<p>Company: </p>
*@author 红色彼岸
*@version 0.1
*/
class MenuItemEventHandler implements ActionListener{
public void actionPerformed(ActionEvent e) {
JMenuItem item = (JMenuItem)e.getSource();
if(item == mi_File_New||item==pi_New)
newPerformed();
else if(item == mi_File_Open)
openPerformed();
else if(item == mi_File_Save )
savePerformed();
else if(item == mi_File_LSave)
saveAsPerformed();
// else if(item == pageSetItem)
//pageSetPerformed();
// else if(item == printItem)
// printPerformed();
else if(item == mi_File_Exit)
exitPerformed();
// else if(item == undoItem)
//undoPerformed();
// else if(item == redoItem)
//redoPerformed();
else if(item == mi_Edit_Cut)
cutPerformed();
else if(item == mi_Edit_Copy)
copyPerformed();
else if(item == mi_Paste_Part)
pastePerformed();
else if(item == pi_Del)
deletePerformed();
else if(item==foreColor)
foreColorPerformed();
else if(item==backColor)
backColorPerformed();
// else if(item == findItem)
//findPerformed();
// else if(item == findNextItem)
// findNextPerformed();
// else if(item == replaceItem)
// replacePerformed();
// else if(item == goToLineItem)
//goToLinePerformed();
// else if(item == selectAllItem)
// selectAllPerformed();
// else if(item == timeItem)
// timePerformed();
// else if(item == autoNextLineItem)
// autoNextLinePerformed();
// else if(item == fontItem)
// fontPerformed();
// else if(item == helpItem)
// helpPerformed();
// else if(item == aboutItem)
// aboutPerformed();
}
}
//类SimpleEditor作为动作事件的监听器,方法中要区分事件源
public void actionPerformed(ActionEvent e){
Object m=e.getSource();
if((JButton)m==cutBtn)
{
cutPerformed();
}
else if((JButton)m ==saveBtn)
{
savePerformed();
}
else if((JButton)m ==newBtn)
{
newPerformed();
}
else if(m==copyBtn)
{
copyPerformed();
}
else if(m==pasteBtn)
{
pastePerformed();
}
else if(m==openBtn)
openPerformed();
//color.showDialog(this,"color",Color.BLACK);
}
// else if(m==selectAll)
// {
// text.selectAll();
// }
public static void main(String args[])
{
JiShiBen f = new JiShiBen();
f.setSize(300,200);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -