⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 notebook.txt

📁 用java编写的记事本小程序
💻 TXT
字号:
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.io.*; 
class TextEditorFrame extends JFrame{ 
File file=null; 
Color color=Color.red; 

TextEditorFrame(){ 
initTextPane(); 
initAboutDialog(); 
initToolBar(); 
initMenu(); 
} 
void initTextPane(){ 
getContentPane().add(new JScrollPane(text)); 
} 

JTextPane text=new JTextPane(); //这是用来做文本框的 
JFileChooser filechooser=new JFileChooser(); //文件选择框 
JColorChooser colorchooser=new JColorChooser();// 
JDialog about=new JDialog(this); //关于对话框 
JMenuBar menubar=new JMenuBar();//菜单 


JMenu[] menus=new JMenu[]{ 
new JMenu("文件"), 
new JMenu("编辑"), 
new JMenu("帮助") 
}; 

JMenuItem menuitems[][]=new JMenuItem[][]{{ 
new JMenuItem("新建"), 
new JMenuItem("打开"), 
new JMenuItem("保存"), 
new JMenuItem("退出") 
}, 

{ 

new JMenuItem("复制"), 
new JMenuItem("剪切"), 
new JMenuItem("粘贴"), 
new JMenuItem("颜色") 
}, 
{ 
new JMenuItem("关于") 
} 
}; 
void initMenu(){ 

for(int i=0;i<menus.length;i++){ 
menubar.add(menus[i]); 
for(int j=0;j<menuitems[i].length;j++){ 
menus[i].add(menuitems[i][j]); 
menuitems[i][j].addActionListener( action ); 
} 
} 
this.setJMenuBar(menubar); 
} 
ActionListener action=new ActionListener(){ //when here have not wrong: 
public void actionPerformed(ActionEvent e){ 
JMenuItem mi=(JMenuItem)e.getSource(); 
String id=mi.getText(); 
if(id.equals("新建")){ 
text.setText(""); 
file=null; 
}else if(id.equals("打开")){ 
if(file !=null)filechooser.setSelectedFile(file); 
int returnVal=filechooser.showOpenDialog(TextEditorFrame.this); 
if(returnVal==JFileChooser.APPROVE_OPTION){ 

file=filechooser.getSelectedFile(); 
openFile(); 
} 

}else if(id.equals("保存")){ 
if(file!=null) filechooser.setSelectedFile(file); 
int returnVal=filechooser.showSaveDialog(TextEditorFrame.this); 
if(returnVal==JFileChooser.APPROVE_OPTION){ 
file=filechooser.getSelectedFile(); 
saveFile(); 
} 

}else if(id.equals("退出")){ 
TextEditorFrame f=new TextEditorFrame(); 
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION); 
if(s==JOptionPane.YES_OPTION) 
System.exit(0); 
}else if(id.equals("剪切")){ 
text.cut(); 
}else if(id.equals("复制")){ 
text.copy(); 
}else if(id.equals("粘贴")){ 
text.paste(); 
}else if(id.equals("color")){ 
color=JColorChooser.showDialog(TextEditorFrame.this,"",color); 
text.setForeground(color); 

}else if(id.equals("关于")){ 
about.setSize(200,150); 
about.show(); 
} 

} 

}; 


void saveFile(){ 
try{ 
FileWriter fw=new FileWriter(file); 
fw.write(text.getText()); 
fw.close(); 
} 
catch(Exception e){e.printStackTrace();} 

} 

void openFile(){ 
try{ 
FileReader fr=new FileReader(file); 
int len=(int)file.length(); 
char []buffer=new char[len]; 
fr.read(buffer,0,len); 
fr.close(); 
text.setText(new String(buffer)); 
}catch(Exception e){e.printStackTrace();} 

} 

void initAboutDialog(){ 
about.getContentPane().add(new JLabel("作者-覃树新:记事本Q1.0版本")); 
about.setModal(true); 
about.setSize(200,100); 
} 
JToolBar toolbar=new JToolBar();//我来加上工具条 
JButton [] buttons=new JButton[]{ 
new JButton("", new ImageIcon("qin.jpg")), 
new JButton("", new ImageIcon("shu.jpg")), 
new JButton("", new ImageIcon("xin.jpg")) 
}; 

void initToolBar(){ 
for(int i=0;i<buttons.length;i++) 
toolbar.add(buttons[i]); 
buttons[0].setToolTipText("复制"); 
buttons[0].addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent e){ 
text.copy(); 
} 
}); 
buttons[1].setToolTipText("剪切"); 
buttons[1].addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent e){ 
text.cut(); 
} 
}); 

buttons[2].setToolTipText("粘贴"); 
buttons[2].addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent e){ 
text.paste(); 
} 
}); 


this.getContentPane().add(toolbar,BorderLayout.NORTH); 
} 
} 



public class F{ 
public static void main(String args[]){ 

TextEditorFrame f=new TextEditorFrame(); 

f.addWindowListener(new WindowAdapter(){ 
public void windowClosing(WindowEvent e) 

{ 
TextEditorFrame f=new TextEditorFrame(); 
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_OPTION); 
if(s==JOptionPane.YES_OPTION) 
System.exit(0);} 
}); 

f.setTitle("简单的记事本"); 
f.setSize(800,600); 
f.show(); 
} 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -