📄 jishiben.java
字号:
//新建功能中的清零方法
public void clear(){
jta.setText("");
st1="";
st2="";
st3="";
st4="";
this.setTitle("未定标题 -记事本");
file = new File("未定标题");
undo.discardAllEdits();
}
//文件框筛选功能
class TextFileFilter extends javax.swing.filechooser.FileFilter {
public boolean accept(File f) {
return f.getName().endsWith(".txt") || f.isDirectory();
}
public String getDescription() {
return "Text Files (*.txt)";
}
}
//主函数
public static void main(String[] args){
JFrame.setDefaultLookAndFeelDecorated(false);
JiShiBen js=new JiShiBen();
}
//新建功能
class Newf implements ActionListener{
public void actionPerformed(ActionEvent a){
int n;
String str="";
str=jta.getText();
if ("".equals(st1)){//当前文本不是打开的
if ("".equals(str) || st2.equals(str)){//当前文本没有被修改 或 修改过已经保存
clear();//调用新建功能中的清零方法
}
else{//当前文本修改过但没有保存
n = JOptionPane.showConfirmDialog(null,file+" 文件的文字已经改变.想保存文件吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);
if (n==0){
newsaveed();//调用新建功能中保存文件并清零方法
}
if (n==1){
clear();//调用新建功能中的清零方法
}
if (n==2){
}
}
}
else{//当前文本是打开的
if(st3.equals(str) || st2.equals(str)){//当前文本没有被修改 或 修改过已经保存
clear();//调用新建功能中的清零方法
}
else{//当前文本修改过但没有保存
n = JOptionPane.showConfirmDialog(null,file+" 文件的文字已经改变.想保存文件吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);
if (n==0){
newsaveed();//调用新建功能中保存文件并清零方法
}
if (n==1){
clear();//调用新建功能中的清零方法
}
if (n==2){
}
}
}
}
}
//打开功能
class Open implements ActionListener{
public void actionPerformed(ActionEvent a){
int n;
String str="";
str=jta.getText();
if ("".equals(st1)){//当前文本不是打开的
if("".equals(str) || str.equals(st2)){//当前文本没有被修改 或 修改过已经保存
opened();//调用普通打开文件方法
}
else{//当前文本修改过但没有保存
n = JOptionPane.showConfirmDialog(null,file+" 文件的文字已经改变.想保存文件吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);
if (n==0){
save_open();//调用打开功能中的先保存再打开方法
}
if (n==1){
opened();//调用普通打开文件方法
}
if (n==2){
}
}
}
else{//当前文本是打开的
if(str.equals(st3) || str.equals(st2)){//当前文本没有被修改 或 修改过已经保存
opened();//打开方法
}
else{//当前文本修改过但没有保存
n = JOptionPane.showConfirmDialog(null,file+" 文件的文字已经改变.想保存文件吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);
if (n==0){
save_open();//调用打开功能中的先保存再打开方法
}
if (n==1){
opened();//调用普通打开文件方法
}
if (n==2){
}
}
}
}
}
//保存功能
class Save implements ActionListener {
public void actionPerformed(ActionEvent e) {
int n;
String str="";
str=jta.getText();
if ("".equals(st1)){//当前文本不是打开的
if ("".equals(st4)){
saveed();//调用普通弹出式保存文件方法
}
else{
usaveed();//调用无弹出文件框的保存文件方法
}
}
else{//当前文本是打开的
usaveed();//调用无弹出文件框的保存文件方法
}
}
}
//另存为功能
class Savea implements ActionListener {
public void actionPerformed(ActionEvent e) {
saveed();
}
}
//界面设置功能
class Pages implements ActionListener {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,"打印之前必须已经安装打印机.\n要安装打印机,请单击\"开始\",指向\"设置\",选定\"打印机\",然后再双击\"添加打印机\".","打印错误",JOptionPane.WARNING_MESSAGE);
}
}
//打印功能
class Print implements ActionListener {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,"打印之前必须已经安装打印机.\n要安装打印机,请单击\"添加打印机\"图标;或者单击位于该对话\"常规\"选项卡上的\"查找打印机...\"按钮.","常规",JOptionPane.WARNING_MESSAGE);
}
}
//退出功能
class Quit implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
//撤销功能
class Chexiao implements ActionListener {
public void actionPerformed(ActionEvent e) {
try {
if (undo.canUndo()) {
undo.undo();
}
}
catch (CannotUndoException che) {
}
}
}
//重做功能
class Chongzuo implements ActionListener {
public void actionPerformed(ActionEvent e) {
try {
if (undo.canRedo()) {
undo.redo();
}
}
catch (CannotRedoException chong) {
}
}
}
//剪切功能
class Cut implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.cut();
}
}
//复制功能
class Copy implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.copy();
}
}
//粘贴功能
class Paste implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.paste();
}
}
//删除功能
class Dele implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.replaceRange("",jta.getSelectionStart(),jta.getSelectionEnd());
}
}
//查找功能
class Lookup implements ActionListener {
public void actionPerformed(ActionEvent e) {
cz.setVisible(true);
}
}
//替换功能
class Swap implements ActionListener {
public void actionPerformed(ActionEvent e) {
ti.setVisible(true);
}
}
//转到功能
class Got implements ActionListener {
public void actionPerformed(ActionEvent e) {
zd.setVisible(true);
}
}
//全选功能
class Checka implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.selectAll();
}
}
//时间日期功能
class Time implements ActionListener {
public void actionPerformed(ActionEvent e) {
Calendar d=Calendar.getInstance();
jta.replaceSelection(d.getTime().getHours()+":"+d.getTime().getMinutes()+" "+d.get(Calendar.YEAR)+"-"+(d.get(Calendar.MONTH)+1)+"-"+d.get(Calendar.DATE));
}
}
//自动换行功能
class Linew implements ActionListener {
public void actionPerformed(ActionEvent e) {
if(b==true){
jta.setLineWrap(b);
b=false;
}
else{
jta.setLineWrap(b);
b=true;
}
}
}
//字体功能
class Fontf implements ActionListener {
public void actionPerformed(ActionEvent e) {
fc.setVisible(true);
}
}
//替换面板类
class Tihuan extends JFrame{
private JPanel p = new JPanel();
private JLabel l1 = new JLabel("查找内容(N):");
private JLabel l2 = new JLabel("替换为(P):");
private JTextField t1 = new JTextField();
private JTextField t2 = new JTextField();
private JButton b1 = new JButton("查找下一个(F)");
private JButton b2 = new JButton("替 换(R)");
private JButton b3 = new JButton("全部替换(A)");
private JButton b4 = new JButton("取 消");
private JCheckBox c1 = new JCheckBox("区分大小写(C)");
Tihuan(){
this.setTitle("替换");
this.setIconImage(Toolkit.getDefaultToolkit().getImage("jishiben.gif"));
p.setLayout(null);
Container ct = this.getContentPane();
ct.add(p);
p.add(l1);
p.add(l2);
p.add(t1);
p.add(t2);
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(c1);
l1.setBounds(10,10,100,25);
l2.setBounds(10,40,100,25);
t1.setBounds(85,10,180,25);
t2.setBounds(85,40,180,25);
b1.setBounds(270,9,120,25);
b2.setBounds(270,39,120,25);
b3.setBounds(270,69,120,25);
b4.setBounds(270,99,120,25);
c1.setBounds(10,99,120,25);
this.setLocation(300,200);
this.setSize(400,180);
this.setResizable(false);
this.setVisible(false);
}
}
//查找面板类
class Chazhao extends JFrame{
private JPanel p1 = new JPanel();
private JPanel p2 = new JPanel();
private JPanel p3 = new JPanel();
private JPanel p4 = new JPanel();
private JLabel l1 = new JLabel("查找内容(N):");
private JLabel l2 = new JLabel("");
private JTextField t1 = new JTextField(17);
private JButton b1 = new JButton("查找下一个(F)");
private JButton b2 = new JButton(" 取消 ");
private JCheckBox c1 = new JCheckBox("区分大小写(C)");
private JRadioButton r1 = new JRadioButton("向上");
private JRadioButton r2 = new JRadioButton("向下",true);
private ButtonGroup bgroup = new ButtonGroup();
Chazhao(){
this.setTitle("查找");
this.setIconImage(Toolkit.getDefaultToolkit().getImage("jishiben.gif"));
bgroup.add(r1);
bgroup.add(r2);
Container ct = this.getContentPane();
ct.add(p1,BorderLayout.NORTH);
p1.add(l1);
p1.add(t1);
p1.add(b1);
p2.add(b2);
p3.add(r1);
p3.add(r2);
p4.add(l2);
p3.setBorder(BorderFactory.createTitledBorder("方向"));
ct.add(c1,BorderLayout.WEST);
ct.add(p2,BorderLayout.EAST);
ct.add(p3,BorderLayout.CENTER);
ct.add(p4,BorderLayout.SOUTH);
this.setLocation(300,200);
this.setSize(400,140);
this.setResizable(false);
this.setVisible(false);
}
}
//转到面板类
class Zhuandao extends JFrame{
private JTextField t1 = new JTextField(10);
private JButton b1 = new JButton("确定");
private JButton b2 = new JButton("取消");
Zhuandao(){
this.setTitle("转到下一行");
this.setIconImage(Toolkit.getDefaultToolkit().getImage("jishiben.gif"));
Container ct = this.getContentPane();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -