package notebook;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class TestTxt implements ActionListener{
JFrame jf=new JFrame("欢迎使用我的TXT记事本");
JTextArea jt=new JTextArea(20,40);
String temp1="";
String temp2="";
JFileChooser jfc=new JFileChooser();
public void actionPerformed(ActionEvent ae){
String cal=ae.getActionCommand();
// System.out.println("ffffffffff");
if("新建".equals(cal)){
jt.setText("");
jf.setTitle("无标题");
}else if("打开".equals(cal)){
jfc.showOpenDialog(jf);
}else if("保存".equals(cal)){
jfc.showSaveDialog(jf);
}else if("另存为".equals(cal)){
jfc.showSaveDialog(jf);
}else if("退出".equals(cal)){
System.exit(1);
}else if("撤消".equals(cal)){
temp2=jt.getText();
jt.setText(temp1);
}else if("复制".equals(cal)){
temp1=jt.getText();
jt.copy();
}else if("剪切".equals(cal)){
temp1=jt.getText();
jt.cut();
}else if("粘贴".equals(cal)){
jt.paste();
}else if("查找".equals(cal)){
String temp=jt.getSelectedText();
int m=jt.getText().indexOf(temp,jt.getSelectionStart()+1);
if(m<0) m++;
jt.setSelectionStart(m);
jt.setSelectionEnd(m+temp.length());
}else if("替换".equals(cal)){
}else if("全选".equals(cal)){
jt.selectAll();
}else if("关于记事本".equals(cal)){
// System.out.println("ffffffffff");
javax.swing.JOptionPane.showMessageDialog(jf, "这是一个简易的记事本,功能不够完善,JUST TRY TO WRITE IT!");
}
}
public TestTxt(){
JMenuBar jmb=new JMenuBar();
String[] s1={"文件","编辑","帮助"};
String[][] s2={{"新建","","打开","","保存","另存为","","退出"},
{"撤消","","复制","剪切","粘贴","查找","","替换","","全选"},
{"关于记事本"}};
JMenu[] jm=new JMenu[s1.length];
for(int i=0;i<jm.length;i++){
jm[i]=new JMenu(s1[i]);
jmb.add(jm[i]);
for(int j=0;j<s2[i].length;j++){
if("".equals(s2[i][j])){
jm[i].addSeparator();
}else{
JMenuItem mi=new JMenuItem(s2[i][j]);
jm[i].add(mi);
mi.addActionListener(this);
}
}
}
jf.add(new JScrollPane(jt));
jf.setJMenuBar(jmb);
jf.add(jt);
jf.setSize(400,300);//窗口大小
jf.setResizable(true);//窗口大小不可改变
jf.setLocation(100, 100);//设置窗口的出现位置
jf.setVisible(true);//窗口可见
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//关闭窗口,退出JVM
}
public static void main(String[] args) {
new TestTxt();
}
}