📄 notepad.java
字号:
ex.printStackTrace();
}
}
});
JMenuItem mi6 = new JMenuItem("自动换行");
class ItActionListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
ta.setLineWrap(true);
ta.setWrapStyleWord(true);
}
}
mi6.addActionListener(new ItActionListener());
JMenuItem mi7 = new JMenuItem("剪切 T");
mi7.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
cb.setContents(new StringSelection(ta.getSelectedText()),null);
ta.replaceRange("",ta.getSelectionStart(),ta.getSelectionEnd());
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
JMenuItem mi8 = new JMenuItem("复制");
mi8.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
cb.setContents(new StringSelection(ta.getSelectedText()),null);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
JMenuItem mi9 = new JMenuItem("粘贴");
mi9.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable content = cb.getContents(null);
ta.replaceRange((String)content.getTransferData(DataFlavor.stringFlavor),
ta.getSelectionStart(),ta.getSelectionEnd());
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
JMenuItem mi10 = new JMenuItem("删除");
mi10.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
ta.replaceRange("",ta.getSelectionStart(),ta.getSelectionEnd());
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
JMenuItem mi11 = new JMenuItem("查找");
mi11.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
final JDialog jd = new JDialog(f,"查找");
jd.setSize(350,120);
jd.setLocation(350,300);
JLabel jl = new JLabel("查找内容");
final JTextField tf = new JTextField(20);
JButton jb1 = new JButton("查找");
JButton jb2 = new JButton("取消");
GridBagLayout gb = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
jd.setLayout(gb);
c.weightx = 60;
c.weighty = 30;
c.gridwidth = GridBagConstraints.RELATIVE;
gb.setConstraints(jl,c);
c.gridwidth = GridBagConstraints.REMAINDER;
gb.setConstraints(tf,c);
c.weightx = 5;
c.gridx = 1;
c.gridwidth = GridBagConstraints.RELATIVE;
gb.setConstraints(jb1,c);
c.gridx = 3;
c.gridx = GridBagConstraints.RELATIVE;
gb.setConstraints(jb2,c);
// c.gridwidth = GridBagConstraints.REMAINDER;
jd.add(jl);
jd.add(tf);
jd.add(jb1);
jd.add(jb2);
jd.setResizable(false);
jd.show();
jb1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
try
{
String str1 = tf.getText();
int len = str1.length();
String text = ta.getText();
int sum = text.length();
int start = ta.getSelectionEnd();
if(start ==sum)
start = 0;
for(;len<=sum&&start<=sum-len;start++)
{
if(start ==sum)
start = 0;
if(text.substring(start,start+len).equals(str1))
{
ta.setSelectionStart(start);
ta.setSelectionEnd(start+len);
return;
}
}
JOptionPane.showMessageDialog(null,"所指定的文本没有找到",
"记事本",JOptionPane.INFORMATION_MESSAGE);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
jb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
jd.dispose();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
}
});
JMenuItem mi12 = new JMenuItem("替换");
mi12.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
final JDialog jd = new JDialog(f,"替换");
jd.setSize(350,120);
jd.setLocation(350,300);
JLabel jl1 = new JLabel("查找内容");
final JTextField tf1 = new JTextField(20);
JLabel jl2 = new JLabel("替换为");
final JTextField tf2 = new JTextField(20);
JButton jb1 = new JButton("替换");
JButton jb2 = new JButton("取消");
GridBagLayout gb = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
jd.setLayout(gb);
c.weightx = 60;
c.weighty = 30;
c.gridwidth = GridBagConstraints.RELATIVE;
gb.setConstraints(jl1,c);
c.gridwidth = GridBagConstraints.REMAINDER;
gb.setConstraints(tf1,c);
c.gridwidth = GridBagConstraints.RELATIVE;
gb.setConstraints(jl2,c);
c.gridwidth = GridBagConstraints.REMAINDER;
gb.setConstraints(tf2,c);
c.weightx = 5;
c.gridx = 1;
c.gridwidth = GridBagConstraints.RELATIVE;
gb.setConstraints(jb1,c);
c.gridx = 3;
c.gridx = GridBagConstraints.RELATIVE;
gb.setConstraints(jb2,c);
jd.add(jl1);
jd.add(tf1);
jd.add(jl2);
jd.add(tf2);
jd.add(jb1);
jd.add(jb2);
jd.setResizable(false);
jd.show();
jb1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
try
{
String str1 = tf1.getText();
int len = str1.length();
String str2 = tf2.getText();
String text = ta.getText();
int sum = text.length();
int start = ta.getSelectionEnd();
if(start ==sum)
start = 0;
for(;len<=sum&&start<=sum-len;start++)
{
if(text.substring(start,start+len).equals(str1))
{
ta.replaceRange(str2,start,(start+len));
return;
}
}
JOptionPane.showMessageDialog(null,"所指定的文本没有找到,无法替换",
"记事本",JOptionPane.INFORMATION_MESSAGE);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
jb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
jd.dispose();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
}
});
JMenuItem mi13 = new JMenuItem("全选");
mi13.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
String text = ta.getText();
int len = text.length();
ta.selectAll();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
JMenuItem mi14 = new JMenuItem("关于记事本");
// final Dialog d = new Dialog(f,"关于计事本",false);
/*String name = "6.jpg";
GraphicsConfiguration gc = new GraphicsConfiguration();
gc = ImageIO.read(new File(name));*/
// d.setSize(300,200);
// d.setLocation(150,150);
/*d.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});*/
// mi14.addActionListener(new ActionListener()
// {
// public void actionPerformed(ActionEvent e)
// {
// d.setVisible(true);
// d.addWindowListener(new WindowAdapter()
// {
// public void windowClosing(WindowEvent e)
// {
// System.exit(0);
// d.setVisible(false);
// d.dispose();
// }
// });
// d.show();
// JOptionPane.showMessageDilog(null);
// }
// });
mi14.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Image image = ImageIO.read(new File("hu.bmp"));
ImageIcon imageIcon = new ImageIcon(image);
JOptionPane jOptionPane = new JOptionPane(" wanlie\n"+
" 江南大学\n"+
"2007-6-15",
JOptionPane.PLAIN_MESSAGE);
//jOptionPane.setVisible(true);
jOptionPane.setIcon(imageIcon);
JDialog j = jOptionPane.createDialog(f,"关于记事本");
j.show();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
});
m1.add(mi1);
m1.add(mi2);
m1.add(mi3);
m1.add(mi4);
m1.add(mi5);
m2.add(mi61);
m2.add(mi71);
m2.add(mi81);
m2.add(mi91);
m2.add(mi101);
m2.add(mi111);
m2.add(mi121);
m2.add(mi131);
m3.add(mi14);
mb.add(m1);
mb.add(m2);
mb.add(m3);
f.setJMenuBar(mb);
final JPopupMenu jpm = new JPopupMenu();
//JMenuItem mi20 = new JMenuItem("剪切 T");
jpm.add(mi6);
jpm.add(mi7);
jpm.add(mi8);
jpm.add(mi9);
jpm.add(mi10);
jpm.add(mi11);
jpm.add(mi12);
jpm.add(mi13);
ta.addMouseListener(new MouseAdapter()
{
public void mouseReleased(MouseEvent e)
{
if(e.isPopupTrigger())
{
jpm.show(e.getComponent(),e.getX(),e.getY());
}
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
if( !ta.getText().equals("") )
{
int d = JOptionPane.showConfirmDialog(f,
"记事本的文字已经改变想保存文件吗?",
"记事本",JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE);
if(d == JOptionPane.YES_OPTION)
{
FileDialog fd = new FileDialog(f,"保存",FileDialog.SAVE);
fd.show();
String strFile = fd.getDirectory()+fd.getFile();
try
{
BufferedWriter bw = new BufferedWriter(new FileWriter(strFile));
bw.write(ta.getText());
bw.flush();
bw.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
if(d == JOptionPane.NO_OPTION)
{
System.exit(0);
}
else if(d == JOptionPane.CANCEL_OPTION )
{
// JOptionPane.showMessageDialog(null,"asdadasd");
}
}
else
{
System.exit(0);
// JOptionPane.showMessageDialog(null,"asdadasd");
}
}
});
f.show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -